diff --git a/.devcontainer.json b/.devcontainer.json
new file mode 100644
index 0000000..dd101b0
--- /dev/null
+++ b/.devcontainer.json
@@ -0,0 +1,25 @@
+{
+ "build": { "dockerfile": "Dockerfile" },
+
+ "customizations": {
+ "vscode": {
+ "settings": {
+ "git.detectSubmodules": false,
+ "solidity.compileUsingRemoteVersion": "v0.8.20+commit.a1b79de6",
+ "terminal.integrated.defaultProfile.linux": "bash",
+ "terminal.integrated.profiles.linux": {
+ "bash": {
+ "path": "/bin/bash"
+ }
+ }
+ },
+ "extensions": [
+ "JuanBlanco.solidity",
+ "streetsidesoftware.code-spell-checker",
+ "tamasfe.even-better-toml",
+ "ms-vscode.makefile-tools",
+ "ryanluker.vscode-coverage-gutters"
+ ]
+ }
+ }
+}
diff --git a/.env.example b/.env.example
index 47ee4d4..37c4887 100644
--- a/.env.example
+++ b/.env.example
@@ -1,11 +1,11 @@
# Deployer private key
-PRIVATE_KEY=YOUR PRIVATE KEY
+PRIVATE_KEY=YOUR_PRIVATE_KEY
# RPC Endpoints
-INFURA_KEY=INFURA PROJECT ID
+INFURA_KEY=INFURA_PROJECT_ID
# Additional keys
-ETHERSCAN_KEY=ETHERSCAN API KEY
-BSCSCAN_KEY=BSCSCAN API KEY
+ETHERSCAN_KEY=ETHERSCAN_API_KEY
+BSCSCAN_KEY=BSCSCAN_API_KEY
-COINMARKETCAP_KEY=COINMARKETCAP API KEY
+COINMARKETCAP_KEY=COINMARKETCAP_API_KEY
diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml
index fc8cc5d..544856a 100644
--- a/.github/actions/setup/action.yml
+++ b/.github/actions/setup/action.yml
@@ -17,3 +17,6 @@ runs:
- name: Install packages
run: npm install
shell: bash
+ - name: Install libs
+ run: npm run forge-install
+ shell: bash
diff --git a/.gitignore b/.gitignore
index 627b94a..0225dbf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,6 @@
node_modules
+lib
+report
.env
.DS_Store
@@ -13,6 +15,8 @@ docs
coverage
coverage.json
+lcov.info
+
# Typechain generated files
generated-types
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index e34bceb..0000000
--- a/.gitmodules
+++ /dev/null
@@ -1,12 +0,0 @@
-[submodule "lib/forge-std"]
- path = lib/forge-std
- url = https://github.com/foundry-rs/forge-std
-[submodule "lib/openzeppelin-contracts"]
- path = lib/openzeppelin-contracts
- url = https://github.com/OpenZeppelin/openzeppelin-contracts
-[submodule "lib/openzeppelin-contracts-upgradeable"]
- path = lib/openzeppelin-contracts-upgradeable
- url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable
-[submodule "lib/solidity-lib"]
- path = lib/solidity-lib
- url = https://github.com/dl-solarity/solidity-lib
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..2bccf33
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,18 @@
+FROM ghcr.io/foundry-rs/foundry:latest as foundry
+
+RUN apk update
+
+FROM node:latest
+
+COPY --from=foundry /usr/local/bin/forge /usr/local/bin/forge
+COPY --from=foundry /usr/local/bin/cast /usr/local/bin/cast
+COPY --from=foundry /usr/local/bin/anvil /usr/local/bin/anvil
+COPY --from=foundry /usr/local/bin/chisel /usr/local/bin/chisel
+
+RUN apt-get update && apt-get install -y \
+ make \
+ lcov
+
+RUN npm install -g npm@latest
+
+ENTRYPOINT ["/bin/bash", "-c", "tail -F 'Wait for commands'"]
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..7f100e5
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,6 @@
+forge-install:
+ rm -rfv lib \
+ && forge install --no-git foundry-rs/forge-std@v1.7.1 \
+ && forge install --no-git OpenZeppelin/openzeppelin-contracts@v5.0.0 \
+ && forge install --no-git OpenZeppelin/openzeppelin-contracts-upgradeable@v5.0.0 \
+ && forge install --no-git dl-solarity/solidity-lib
\ No newline at end of file
diff --git a/README.md b/README.md
index 8822d61..8c40972 100644
--- a/README.md
+++ b/README.md
@@ -22,6 +22,9 @@ Third, use `npm` and `forge` to install the local dependencies
npm install && forge install
```
+#### Or with Docker
+It is recommended to use the VSCode Dev Container for development. You can do this by opening the Command Palette `(Ctrl+Shift+P)` and selecting the `Dev Containers: Rebuild and Reopen in Container command`.
+
### How to use
The template works out of the box. To clean up the repo, you may need to delete the mock contracts and tests.
diff --git a/foundry.toml b/foundry.toml
index 93ae6f7..7be0755 100644
--- a/foundry.toml
+++ b/foundry.toml
@@ -10,6 +10,8 @@ optimizer = true
optimizer_runs = 200
remappings = [
+ "@contracts/=./contracts/",
+ "@tests/=./tests/",
"@openzeppelin/=lib/openzeppelin-contracts",
"@openzeppelin-upgradeable/=lib/openzeppelin-contracts-upgradeable",
"@solarity/=lib/solidity-lib",
diff --git a/lib/forge-std/.github/workflows/ci.yml b/lib/forge-std/.github/workflows/ci.yml
deleted file mode 100644
index cb241ae..0000000
--- a/lib/forge-std/.github/workflows/ci.yml
+++ /dev/null
@@ -1,134 +0,0 @@
-name: CI
-
-on:
- workflow_dispatch:
- pull_request:
- push:
- branches:
- - master
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
-
- - name: Install Foundry
- uses: onbjerg/foundry-toolchain@v1
- with:
- version: nightly
-
- - name: Print forge version
- run: forge --version
-
- # Backwards compatibility checks:
- # - the oldest and newest version of each supported minor version
- # - versions with specific issues
- - name: Check compatibility with latest
- if: always()
- run: |
- output=$(forge build --skip test)
-
- if echo "$output" | grep -q "Warning"; then
- echo "$output"
- exit 1
- fi
-
- - name: Check compatibility with 0.8.0
- if: always()
- run: |
- output=$(forge build --skip test --use solc:0.8.0)
-
- if echo "$output" | grep -q "Warning"; then
- echo "$output"
- exit 1
- fi
-
- - name: Check compatibility with 0.7.6
- if: always()
- run: |
- output=$(forge build --skip test --use solc:0.7.6)
-
- if echo "$output" | grep -q "Warning"; then
- echo "$output"
- exit 1
- fi
-
- - name: Check compatibility with 0.7.0
- if: always()
- run: |
- output=$(forge build --skip test --use solc:0.7.0)
-
- if echo "$output" | grep -q "Warning"; then
- echo "$output"
- exit 1
- fi
-
- - name: Check compatibility with 0.6.12
- if: always()
- run: |
- output=$(forge build --skip test --use solc:0.6.12)
-
- if echo "$output" | grep -q "Warning"; then
- echo "$output"
- exit 1
- fi
-
- - name: Check compatibility with 0.6.2
- if: always()
- run: |
- output=$(forge build --skip test --use solc:0.6.2)
-
- if echo "$output" | grep -q "Warning"; then
- echo "$output"
- exit 1
- fi
-
- # via-ir compilation time checks.
- - name: Measure compilation time of Test with 0.8.17 --via-ir
- if: always()
- run: forge build --skip test --contracts test/compilation/CompilationTest.sol --use solc:0.8.17 --via-ir
-
- - name: Measure compilation time of TestBase with 0.8.17 --via-ir
- if: always()
- run: forge build --skip test --contracts test/compilation/CompilationTestBase.sol --use solc:0.8.17 --via-ir
-
- - name: Measure compilation time of Script with 0.8.17 --via-ir
- if: always()
- run: forge build --skip test --contracts test/compilation/CompilationScript.sol --use solc:0.8.17 --via-ir
-
- - name: Measure compilation time of ScriptBase with 0.8.17 --via-ir
- if: always()
- run: forge build --skip test --contracts test/compilation/CompilationScriptBase.sol --use solc:0.8.17 --via-ir
-
- test:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
-
- - name: Install Foundry
- uses: onbjerg/foundry-toolchain@v1
- with:
- version: nightly
-
- - name: Print forge version
- run: forge --version
-
- - name: Run tests
- run: forge test -vvv
-
- fmt:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
-
- - name: Install Foundry
- uses: onbjerg/foundry-toolchain@v1
- with:
- version: nightly
-
- - name: Print forge version
- run: forge --version
-
- - name: Check formatting
- run: forge fmt --check
diff --git a/lib/forge-std/.github/workflows/sync.yml b/lib/forge-std/.github/workflows/sync.yml
deleted file mode 100644
index 5a9e9d5..0000000
--- a/lib/forge-std/.github/workflows/sync.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-name: Sync Release Branch
-
-on:
- release:
- types:
- - created
-
-jobs:
- sync-release-branch:
- runs-on: ubuntu-latest
- if: startsWith(github.event.release.tag_name, 'v1')
- steps:
- - name: Check out the repo
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
- ref: v1
-
- - name: Configure Git
- run: |
- git config user.name github-actions[bot]
- git config user.email 41898282+github-actions[bot]@users.noreply.github.com
-
- - name: Sync Release Branch
- run: |
- git fetch --tags
- git checkout v1
- git reset --hard ${GITHUB_REF}
- git push --force
diff --git a/lib/forge-std/.gitignore b/lib/forge-std/.gitignore
deleted file mode 100644
index 756106d..0000000
--- a/lib/forge-std/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-cache/
-out/
-.vscode
-.idea
diff --git a/lib/forge-std/.gitmodules b/lib/forge-std/.gitmodules
deleted file mode 100644
index e124719..0000000
--- a/lib/forge-std/.gitmodules
+++ /dev/null
@@ -1,3 +0,0 @@
-[submodule "lib/ds-test"]
- path = lib/ds-test
- url = https://github.com/dapphub/ds-test
diff --git a/lib/forge-std/LICENSE-APACHE b/lib/forge-std/LICENSE-APACHE
deleted file mode 100644
index cf01a49..0000000
--- a/lib/forge-std/LICENSE-APACHE
+++ /dev/null
@@ -1,203 +0,0 @@
-Copyright Contributors to Forge Standard Library
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
-2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
-5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS
-
-APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
-Copyright [yyyy] [name of copyright owner]
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
diff --git a/lib/forge-std/LICENSE-MIT b/lib/forge-std/LICENSE-MIT
deleted file mode 100644
index 28f9830..0000000
--- a/lib/forge-std/LICENSE-MIT
+++ /dev/null
@@ -1,25 +0,0 @@
-Copyright Contributors to Forge Standard Library
-
-Permission is hereby granted, free of charge, to any
-person obtaining a copy of this software and associated
-documentation files (the "Software"), to deal in the
-Software without restriction, including without
-limitation the rights to use, copy, modify, merge,
-publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software
-is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice
-shall be included in all copies or substantial portions
-of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
-ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
-TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
-PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
-SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
-IN CONNECTION WITH THE SOFTWARE O THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.R
diff --git a/lib/forge-std/README.md b/lib/forge-std/README.md
deleted file mode 100644
index 8494a7d..0000000
--- a/lib/forge-std/README.md
+++ /dev/null
@@ -1,250 +0,0 @@
-# Forge Standard Library • [![CI status](https://github.com/foundry-rs/forge-std/actions/workflows/ci.yml/badge.svg)](https://github.com/foundry-rs/forge-std/actions/workflows/ci.yml)
-
-Forge Standard Library is a collection of helpful contracts and libraries for use with [Forge and Foundry](https://github.com/foundry-rs/foundry). It leverages Forge's cheatcodes to make writing tests easier and faster, while improving the UX of cheatcodes.
-
-**Learn how to use Forge-Std with the [📖 Foundry Book (Forge-Std Guide)](https://book.getfoundry.sh/forge/forge-std.html).**
-
-## Install
-
-```bash
-forge install foundry-rs/forge-std
-```
-
-## Contracts
-### stdError
-
-This is a helper contract for errors and reverts. In Forge, this contract is particularly helpful for the `expectRevert` cheatcode, as it provides all compiler builtin errors.
-
-See the contract itself for all error codes.
-
-#### Example usage
-
-```solidity
-
-import "forge-std/Test.sol";
-
-contract TestContract is Test {
- ErrorsTest test;
-
- function setUp() public {
- test = new ErrorsTest();
- }
-
- function testExpectArithmetic() public {
- vm.expectRevert(stdError.arithmeticError);
- test.arithmeticError(10);
- }
-}
-
-contract ErrorsTest {
- function arithmeticError(uint256 a) public {
- uint256 a = a - 100;
- }
-}
-```
-
-### stdStorage
-
-This is a rather large contract due to all of the overloading to make the UX decent. Primarily, it is a wrapper around the `record` and `accesses` cheatcodes. It can *always* find and write the storage slot(s) associated with a particular variable without knowing the storage layout. The one _major_ caveat to this is while a slot can be found for packed storage variables, we can't write to that variable safely. If a user tries to write to a packed slot, the execution throws an error, unless it is uninitialized (`bytes32(0)`).
-
-This works by recording all `SLOAD`s and `SSTORE`s during a function call. If there is a single slot read or written to, it immediately returns the slot. Otherwise, behind the scenes, we iterate through and check each one (assuming the user passed in a `depth` parameter). If the variable is a struct, you can pass in a `depth` parameter which is basically the field depth.
-
-I.e.:
-```solidity
-struct T {
- // depth 0
- uint256 a;
- // depth 1
- uint256 b;
-}
-```
-
-#### Example usage
-
-```solidity
-import "forge-std/Test.sol";
-
-contract TestContract is Test {
- using stdStorage for StdStorage;
-
- Storage test;
-
- function setUp() public {
- test = new Storage();
- }
-
- function testFindExists() public {
- // Lets say we want to find the slot for the public
- // variable `exists`. We just pass in the function selector
- // to the `find` command
- uint256 slot = stdstore.target(address(test)).sig("exists()").find();
- assertEq(slot, 0);
- }
-
- function testWriteExists() public {
- // Lets say we want to write to the slot for the public
- // variable `exists`. We just pass in the function selector
- // to the `checked_write` command
- stdstore.target(address(test)).sig("exists()").checked_write(100);
- assertEq(test.exists(), 100);
- }
-
- // It supports arbitrary storage layouts, like assembly based storage locations
- function testFindHidden() public {
- // `hidden` is a random hash of a bytes, iteration through slots would
- // not find it. Our mechanism does
- // Also, you can use the selector instead of a string
- uint256 slot = stdstore.target(address(test)).sig(test.hidden.selector).find();
- assertEq(slot, uint256(keccak256("my.random.var")));
- }
-
- // If targeting a mapping, you have to pass in the keys necessary to perform the find
- // i.e.:
- function testFindMapping() public {
- uint256 slot = stdstore
- .target(address(test))
- .sig(test.map_addr.selector)
- .with_key(address(this))
- .find();
- // in the `Storage` constructor, we wrote that this address' value was 1 in the map
- // so when we load the slot, we expect it to be 1
- assertEq(uint(vm.load(address(test), bytes32(slot))), 1);
- }
-
- // If the target is a struct, you can specify the field depth:
- function testFindStruct() public {
- // NOTE: see the depth parameter - 0 means 0th field, 1 means 1st field, etc.
- uint256 slot_for_a_field = stdstore
- .target(address(test))
- .sig(test.basicStruct.selector)
- .depth(0)
- .find();
-
- uint256 slot_for_b_field = stdstore
- .target(address(test))
- .sig(test.basicStruct.selector)
- .depth(1)
- .find();
-
- assertEq(uint(vm.load(address(test), bytes32(slot_for_a_field))), 1);
- assertEq(uint(vm.load(address(test), bytes32(slot_for_b_field))), 2);
- }
-}
-
-// A complex storage contract
-contract Storage {
- struct UnpackedStruct {
- uint256 a;
- uint256 b;
- }
-
- constructor() {
- map_addr[msg.sender] = 1;
- }
-
- uint256 public exists = 1;
- mapping(address => uint256) public map_addr;
- // mapping(address => Packed) public map_packed;
- mapping(address => UnpackedStruct) public map_struct;
- mapping(address => mapping(address => uint256)) public deep_map;
- mapping(address => mapping(address => UnpackedStruct)) public deep_map_struct;
- UnpackedStruct public basicStruct = UnpackedStruct({
- a: 1,
- b: 2
- });
-
- function hidden() public view returns (bytes32 t) {
- // an extremely hidden storage slot
- bytes32 slot = keccak256("my.random.var");
- assembly {
- t := sload(slot)
- }
- }
-}
-```
-
-### stdCheats
-
-This is a wrapper over miscellaneous cheatcodes that need wrappers to be more dev friendly. Currently there are only functions related to `prank`. In general, users may expect ETH to be put into an address on `prank`, but this is not the case for safety reasons. Explicitly this `hoax` function should only be used for address that have expected balances as it will get overwritten. If an address already has ETH, you should just use `prank`. If you want to change that balance explicitly, just use `deal`. If you want to do both, `hoax` is also right for you.
-
-
-#### Example usage:
-```solidity
-
-// SPDX-License-Identifier: MIT
-pragma solidity ^0.8.0;
-
-import "forge-std/Test.sol";
-
-// Inherit the stdCheats
-contract StdCheatsTest is Test {
- Bar test;
- function setUp() public {
- test = new Bar();
- }
-
- function testHoax() public {
- // we call `hoax`, which gives the target address
- // eth and then calls `prank`
- hoax(address(1337));
- test.bar{value: 100}(address(1337));
-
- // overloaded to allow you to specify how much eth to
- // initialize the address with
- hoax(address(1337), 1);
- test.bar{value: 1}(address(1337));
- }
-
- function testStartHoax() public {
- // we call `startHoax`, which gives the target address
- // eth and then calls `startPrank`
- //
- // it is also overloaded so that you can specify an eth amount
- startHoax(address(1337));
- test.bar{value: 100}(address(1337));
- test.bar{value: 100}(address(1337));
- vm.stopPrank();
- test.bar(address(this));
- }
-}
-
-contract Bar {
- function bar(address expectedSender) public payable {
- require(msg.sender == expectedSender, "!prank");
- }
-}
-```
-
-### Std Assertions
-
-Expand upon the assertion functions from the `DSTest` library.
-
-### `console.log`
-
-Usage follows the same format as [Hardhat](https://hardhat.org/hardhat-network/reference/#console-log).
-It's recommended to use `console2.sol` as shown below, as this will show the decoded logs in Forge traces.
-
-```solidity
-// import it indirectly via Test.sol
-import "forge-std/Test.sol";
-// or directly import it
-import "forge-std/console2.sol";
-...
-console2.log(someValue);
-```
-
-If you need compatibility with Hardhat, you must use the standard `console.sol` instead.
-Due to a bug in `console.sol`, logs that use `uint256` or `int256` types will not be properly decoded in Forge traces.
-
-```solidity
-// import it indirectly via Test.sol
-import "forge-std/Test.sol";
-// or directly import it
-import "forge-std/console.sol";
-...
-console.log(someValue);
-```
-
-## License
-
-Forge Standard Library is offered under either [MIT](LICENSE-MIT) or [Apache 2.0](LICENSE-APACHE) license.
diff --git a/lib/forge-std/foundry.toml b/lib/forge-std/foundry.toml
deleted file mode 100644
index f9679ee..0000000
--- a/lib/forge-std/foundry.toml
+++ /dev/null
@@ -1,21 +0,0 @@
-[profile.default]
-fs_permissions = [{ access = "read-write", path = "./"}]
-
-[rpc_endpoints]
-# The RPC URLs are modified versions of the default for testing initialization.
-mainnet = "https://mainnet.infura.io/v3/b1d3925804e74152b316ca7da97060d3" # Different API key.
-optimism_goerli = "https://goerli.optimism.io/" # Adds a trailing slash.
-arbitrum_one_goerli = "https://goerli-rollup.arbitrum.io/rpc/" # Adds a trailing slash.
-needs_undefined_env_var = "${UNDEFINED_RPC_URL_PLACEHOLDER}"
-
-[fmt]
-# These are all the `forge fmt` defaults.
-line_length = 120
-tab_width = 4
-bracket_spacing = false
-int_types = 'long'
-multiline_func_header = 'attributes_first'
-quote_style = 'double'
-number_underscore = 'preserve'
-single_line_statement_blocks = 'preserve'
-ignore = ["src/console.sol", "src/console2.sol"]
\ No newline at end of file
diff --git a/lib/forge-std/lib/ds-test/.github/workflows/build.yml b/lib/forge-std/lib/ds-test/.github/workflows/build.yml
deleted file mode 100644
index d2ff97d..0000000
--- a/lib/forge-std/lib/ds-test/.github/workflows/build.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-name: "Build"
-on:
- pull_request:
- push:
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - uses: cachix/install-nix-action@v20
- with:
- nix_path: nixpkgs=channel:nixos-unstable
- extra_nix_config: |
- access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
-
- - name: setup dapp binary cache
- uses: cachix/cachix-action@v12
- with:
- name: dapp
-
- - name: install dapptools
- run: nix profile install github:dapphub/dapptools#dapp --accept-flake-config
-
- - name: install foundry
- uses: foundry-rs/foundry-toolchain@v1
-
- - name: test with solc-0.5.17
- run: dapp --use solc-0.5.17 test -v
-
- - name: test with solc-0.6.11
- run: dapp --use solc-0.6.11 test -v
-
- - name: test with solc-0.7.6
- run: dapp --use solc-0.7.6 test -v
-
- - name: test with solc-0.8.18
- run: dapp --use solc-0.8.18 test -v
-
- - name: Run tests with foundry
- run: forge test -vvv
-
diff --git a/lib/forge-std/lib/ds-test/.gitignore b/lib/forge-std/lib/ds-test/.gitignore
deleted file mode 100644
index 462a994..0000000
--- a/lib/forge-std/lib/ds-test/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/.dapple
-/build
-/out
-/cache/
diff --git a/lib/forge-std/lib/ds-test/LICENSE b/lib/forge-std/lib/ds-test/LICENSE
deleted file mode 100644
index 94a9ed0..0000000
--- a/lib/forge-std/lib/ds-test/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- 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 .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
diff --git a/lib/forge-std/lib/ds-test/Makefile b/lib/forge-std/lib/ds-test/Makefile
deleted file mode 100644
index 661dac4..0000000
--- a/lib/forge-std/lib/ds-test/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-all:; dapp build
-
-test:
- -dapp --use solc:0.4.23 build
- -dapp --use solc:0.4.26 build
- -dapp --use solc:0.5.17 build
- -dapp --use solc:0.6.12 build
- -dapp --use solc:0.7.5 build
-
-demo:
- DAPP_SRC=demo dapp --use solc:0.7.5 build
- -hevm dapp-test --verbose 3
-
-.PHONY: test demo
diff --git a/lib/forge-std/lib/ds-test/default.nix b/lib/forge-std/lib/ds-test/default.nix
deleted file mode 100644
index cf65419..0000000
--- a/lib/forge-std/lib/ds-test/default.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{ solidityPackage, dappsys }: solidityPackage {
- name = "ds-test";
- src = ./src;
-}
diff --git a/lib/forge-std/lib/ds-test/demo/demo.sol b/lib/forge-std/lib/ds-test/demo/demo.sol
deleted file mode 100644
index f3bb48e..0000000
--- a/lib/forge-std/lib/ds-test/demo/demo.sol
+++ /dev/null
@@ -1,222 +0,0 @@
-// SPDX-License-Identifier: GPL-3.0-or-later
-pragma solidity >=0.5.0;
-
-import "../src/test.sol";
-
-contract DemoTest is DSTest {
- function test_this() public pure {
- require(true);
- }
- function test_logs() public {
- emit log("-- log(string)");
- emit log("a string");
-
- emit log("-- log_named_uint(string, uint)");
- emit log_named_uint("uint", 512);
-
- emit log("-- log_named_int(string, int)");
- emit log_named_int("int", -512);
-
- emit log("-- log_named_address(string, address)");
- emit log_named_address("address", address(this));
-
- emit log("-- log_named_bytes32(string, bytes32)");
- emit log_named_bytes32("bytes32", "a string");
-
- emit log("-- log_named_bytes(string, bytes)");
- emit log_named_bytes("bytes", hex"cafefe");
-
- emit log("-- log_named_string(string, string)");
- emit log_named_string("string", "a string");
-
- emit log("-- log_named_decimal_uint(string, uint, uint)");
- emit log_named_decimal_uint("decimal uint", 1.0e18, 18);
-
- emit log("-- log_named_decimal_int(string, int, uint)");
- emit log_named_decimal_int("decimal int", -1.0e18, 18);
- }
- event log_old_named_uint(bytes32,uint);
- function test_old_logs() public {
- emit log_old_named_uint("key", 500);
- emit log_named_bytes32("bkey", "val");
- }
- function test_trace() public view {
- this.echo("string 1", "string 2");
- }
- function test_multiline() public {
- emit log("a multiline\\nstring");
- emit log("a multiline string");
- emit log_bytes("a string");
- emit log_bytes("a multiline\nstring");
- emit log_bytes("a multiline\\nstring");
- emit logs(hex"0000");
- emit log_named_bytes("0x0000", hex"0000");
- emit logs(hex"ff");
- }
- function echo(string memory s1, string memory s2) public pure
- returns (string memory, string memory)
- {
- return (s1, s2);
- }
-
- function prove_this(uint x) public {
- emit log_named_uint("sym x", x);
- assertGt(x + 1, 0);
- }
-
- function test_logn() public {
- assembly {
- log0(0x01, 0x02)
- log1(0x01, 0x02, 0x03)
- log2(0x01, 0x02, 0x03, 0x04)
- log3(0x01, 0x02, 0x03, 0x04, 0x05)
- }
- }
-
- event MyEvent(uint, uint indexed, uint, uint indexed);
- function test_events() public {
- emit MyEvent(1, 2, 3, 4);
- }
-
- function test_asserts() public {
- string memory err = "this test has failed!";
- emit log("## assertTrue(bool)\n");
- assertTrue(false);
- emit log("\n");
- assertTrue(false, err);
-
- emit log("\n## assertEq(address,address)\n");
- assertEq(address(this), msg.sender);
- emit log("\n");
- assertEq(address(this), msg.sender, err);
-
- emit log("\n## assertEq32(bytes32,bytes32)\n");
- assertEq32("bytes 1", "bytes 2");
- emit log("\n");
- assertEq32("bytes 1", "bytes 2", err);
-
- emit log("\n## assertEq(bytes32,bytes32)\n");
- assertEq32("bytes 1", "bytes 2");
- emit log("\n");
- assertEq32("bytes 1", "bytes 2", err);
-
- emit log("\n## assertEq(uint,uint)\n");
- assertEq(uint(0), 1);
- emit log("\n");
- assertEq(uint(0), 1, err);
-
- emit log("\n## assertEq(int,int)\n");
- assertEq(-1, -2);
- emit log("\n");
- assertEq(-1, -2, err);
-
- emit log("\n## assertEqDecimal(int,int,uint)\n");
- assertEqDecimal(-1.0e18, -1.1e18, 18);
- emit log("\n");
- assertEqDecimal(-1.0e18, -1.1e18, 18, err);
-
- emit log("\n## assertEqDecimal(uint,uint,uint)\n");
- assertEqDecimal(uint(1.0e18), 1.1e18, 18);
- emit log("\n");
- assertEqDecimal(uint(1.0e18), 1.1e18, 18, err);
-
- emit log("\n## assertGt(uint,uint)\n");
- assertGt(uint(0), 0);
- emit log("\n");
- assertGt(uint(0), 0, err);
-
- emit log("\n## assertGt(int,int)\n");
- assertGt(-1, -1);
- emit log("\n");
- assertGt(-1, -1, err);
-
- emit log("\n## assertGtDecimal(int,int,uint)\n");
- assertGtDecimal(-2.0e18, -1.1e18, 18);
- emit log("\n");
- assertGtDecimal(-2.0e18, -1.1e18, 18, err);
-
- emit log("\n## assertGtDecimal(uint,uint,uint)\n");
- assertGtDecimal(uint(1.0e18), 1.1e18, 18);
- emit log("\n");
- assertGtDecimal(uint(1.0e18), 1.1e18, 18, err);
-
- emit log("\n## assertGe(uint,uint)\n");
- assertGe(uint(0), 1);
- emit log("\n");
- assertGe(uint(0), 1, err);
-
- emit log("\n## assertGe(int,int)\n");
- assertGe(-1, 0);
- emit log("\n");
- assertGe(-1, 0, err);
-
- emit log("\n## assertGeDecimal(int,int,uint)\n");
- assertGeDecimal(-2.0e18, -1.1e18, 18);
- emit log("\n");
- assertGeDecimal(-2.0e18, -1.1e18, 18, err);
-
- emit log("\n## assertGeDecimal(uint,uint,uint)\n");
- assertGeDecimal(uint(1.0e18), 1.1e18, 18);
- emit log("\n");
- assertGeDecimal(uint(1.0e18), 1.1e18, 18, err);
-
- emit log("\n## assertLt(uint,uint)\n");
- assertLt(uint(0), 0);
- emit log("\n");
- assertLt(uint(0), 0, err);
-
- emit log("\n## assertLt(int,int)\n");
- assertLt(-1, -1);
- emit log("\n");
- assertLt(-1, -1, err);
-
- emit log("\n## assertLtDecimal(int,int,uint)\n");
- assertLtDecimal(-1.0e18, -1.1e18, 18);
- emit log("\n");
- assertLtDecimal(-1.0e18, -1.1e18, 18, err);
-
- emit log("\n## assertLtDecimal(uint,uint,uint)\n");
- assertLtDecimal(uint(2.0e18), 1.1e18, 18);
- emit log("\n");
- assertLtDecimal(uint(2.0e18), 1.1e18, 18, err);
-
- emit log("\n## assertLe(uint,uint)\n");
- assertLe(uint(1), 0);
- emit log("\n");
- assertLe(uint(1), 0, err);
-
- emit log("\n## assertLe(int,int)\n");
- assertLe(0, -1);
- emit log("\n");
- assertLe(0, -1, err);
-
- emit log("\n## assertLeDecimal(int,int,uint)\n");
- assertLeDecimal(-1.0e18, -1.1e18, 18);
- emit log("\n");
- assertLeDecimal(-1.0e18, -1.1e18, 18, err);
-
- emit log("\n## assertLeDecimal(uint,uint,uint)\n");
- assertLeDecimal(uint(2.0e18), 1.1e18, 18);
- emit log("\n");
- assertLeDecimal(uint(2.0e18), 1.1e18, 18, err);
-
- emit log("\n## assertEq(string,string)\n");
- string memory s1 = "string 1";
- string memory s2 = "string 2";
- assertEq(s1, s2);
- emit log("\n");
- assertEq(s1, s2, err);
-
- emit log("\n## assertEq0(bytes,bytes)\n");
- assertEq0(hex"abcdef01", hex"abcdef02");
- emit log("\n");
- assertEq0(hex"abcdef01", hex"abcdef02", err);
- }
-}
-
-contract DemoTestWithSetUp {
- function setUp() public {
- }
- function test_pass() public pure {
- }
-}
diff --git a/lib/forge-std/lib/ds-test/package.json b/lib/forge-std/lib/ds-test/package.json
deleted file mode 100644
index 4802ada..0000000
--- a/lib/forge-std/lib/ds-test/package.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "name": "ds-test",
- "version": "1.0.0",
- "description": "Assertions, equality checks and other test helpers ",
- "bugs": "https://github.com/dapphub/ds-test/issues",
- "license": "GPL-3.0",
- "author": "Contributors to ds-test",
- "files": [
- "src/*"
- ],
- "repository": {
- "type": "git",
- "url": "https://github.com/dapphub/ds-test.git"
- }
-}
diff --git a/lib/forge-std/lib/ds-test/src/test.sol b/lib/forge-std/lib/ds-test/src/test.sol
deleted file mode 100644
index 2bf3375..0000000
--- a/lib/forge-std/lib/ds-test/src/test.sol
+++ /dev/null
@@ -1,592 +0,0 @@
-// SPDX-License-Identifier: GPL-3.0-or-later
-
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// 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 .
-
-pragma solidity >=0.5.0;
-
-contract DSTest {
- event log (string);
- event logs (bytes);
-
- event log_address (address);
- event log_bytes32 (bytes32);
- event log_int (int);
- event log_uint (uint);
- event log_bytes (bytes);
- event log_string (string);
-
- event log_named_address (string key, address val);
- event log_named_bytes32 (string key, bytes32 val);
- event log_named_decimal_int (string key, int val, uint decimals);
- event log_named_decimal_uint (string key, uint val, uint decimals);
- event log_named_int (string key, int val);
- event log_named_uint (string key, uint val);
- event log_named_bytes (string key, bytes val);
- event log_named_string (string key, string val);
-
- bool public IS_TEST = true;
- bool private _failed;
-
- address constant HEVM_ADDRESS =
- address(bytes20(uint160(uint256(keccak256('hevm cheat code')))));
-
- modifier mayRevert() { _; }
- modifier testopts(string memory) { _; }
-
- function failed() public returns (bool) {
- if (_failed) {
- return _failed;
- } else {
- bool globalFailed = false;
- if (hasHEVMContext()) {
- (, bytes memory retdata) = HEVM_ADDRESS.call(
- abi.encodePacked(
- bytes4(keccak256("load(address,bytes32)")),
- abi.encode(HEVM_ADDRESS, bytes32("failed"))
- )
- );
- globalFailed = abi.decode(retdata, (bool));
- }
- return globalFailed;
- }
- }
-
- function fail() internal virtual {
- if (hasHEVMContext()) {
- (bool status, ) = HEVM_ADDRESS.call(
- abi.encodePacked(
- bytes4(keccak256("store(address,bytes32,bytes32)")),
- abi.encode(HEVM_ADDRESS, bytes32("failed"), bytes32(uint256(0x01)))
- )
- );
- status; // Silence compiler warnings
- }
- _failed = true;
- }
-
- function hasHEVMContext() internal view returns (bool) {
- uint256 hevmCodeSize = 0;
- assembly {
- hevmCodeSize := extcodesize(0x7109709ECfa91a80626fF3989D68f67F5b1DD12D)
- }
- return hevmCodeSize > 0;
- }
-
- modifier logs_gas() {
- uint startGas = gasleft();
- _;
- uint endGas = gasleft();
- emit log_named_uint("gas", startGas - endGas);
- }
-
- function assertTrue(bool condition) internal {
- if (!condition) {
- emit log("Error: Assertion Failed");
- fail();
- }
- }
-
- function assertTrue(bool condition, string memory err) internal {
- if (!condition) {
- emit log_named_string("Error", err);
- assertTrue(condition);
- }
- }
-
- function assertEq(address a, address b) internal {
- if (a != b) {
- emit log("Error: a == b not satisfied [address]");
- emit log_named_address(" Left", a);
- emit log_named_address(" Right", b);
- fail();
- }
- }
- function assertEq(address a, address b, string memory err) internal {
- if (a != b) {
- emit log_named_string ("Error", err);
- assertEq(a, b);
- }
- }
-
- function assertEq(bytes32 a, bytes32 b) internal {
- if (a != b) {
- emit log("Error: a == b not satisfied [bytes32]");
- emit log_named_bytes32(" Left", a);
- emit log_named_bytes32(" Right", b);
- fail();
- }
- }
- function assertEq(bytes32 a, bytes32 b, string memory err) internal {
- if (a != b) {
- emit log_named_string ("Error", err);
- assertEq(a, b);
- }
- }
- function assertEq32(bytes32 a, bytes32 b) internal {
- assertEq(a, b);
- }
- function assertEq32(bytes32 a, bytes32 b, string memory err) internal {
- assertEq(a, b, err);
- }
-
- function assertEq(int a, int b) internal {
- if (a != b) {
- emit log("Error: a == b not satisfied [int]");
- emit log_named_int(" Left", a);
- emit log_named_int(" Right", b);
- fail();
- }
- }
- function assertEq(int a, int b, string memory err) internal {
- if (a != b) {
- emit log_named_string("Error", err);
- assertEq(a, b);
- }
- }
- function assertEq(uint a, uint b) internal {
- if (a != b) {
- emit log("Error: a == b not satisfied [uint]");
- emit log_named_uint(" Left", a);
- emit log_named_uint(" Right", b);
- fail();
- }
- }
- function assertEq(uint a, uint b, string memory err) internal {
- if (a != b) {
- emit log_named_string("Error", err);
- assertEq(a, b);
- }
- }
- function assertEqDecimal(int a, int b, uint decimals) internal {
- if (a != b) {
- emit log("Error: a == b not satisfied [decimal int]");
- emit log_named_decimal_int(" Left", a, decimals);
- emit log_named_decimal_int(" Right", b, decimals);
- fail();
- }
- }
- function assertEqDecimal(int a, int b, uint decimals, string memory err) internal {
- if (a != b) {
- emit log_named_string("Error", err);
- assertEqDecimal(a, b, decimals);
- }
- }
- function assertEqDecimal(uint a, uint b, uint decimals) internal {
- if (a != b) {
- emit log("Error: a == b not satisfied [decimal uint]");
- emit log_named_decimal_uint(" Left", a, decimals);
- emit log_named_decimal_uint(" Right", b, decimals);
- fail();
- }
- }
- function assertEqDecimal(uint a, uint b, uint decimals, string memory err) internal {
- if (a != b) {
- emit log_named_string("Error", err);
- assertEqDecimal(a, b, decimals);
- }
- }
-
- function assertNotEq(address a, address b) internal {
- if (a == b) {
- emit log("Error: a != b not satisfied [address]");
- emit log_named_address(" Left", a);
- emit log_named_address(" Right", b);
- fail();
- }
- }
- function assertNotEq(address a, address b, string memory err) internal {
- if (a == b) {
- emit log_named_string ("Error", err);
- assertNotEq(a, b);
- }
- }
-
- function assertNotEq(bytes32 a, bytes32 b) internal {
- if (a == b) {
- emit log("Error: a != b not satisfied [bytes32]");
- emit log_named_bytes32(" Left", a);
- emit log_named_bytes32(" Right", b);
- fail();
- }
- }
- function assertNotEq(bytes32 a, bytes32 b, string memory err) internal {
- if (a == b) {
- emit log_named_string ("Error", err);
- assertNotEq(a, b);
- }
- }
- function assertNotEq32(bytes32 a, bytes32 b) internal {
- assertNotEq(a, b);
- }
- function assertNotEq32(bytes32 a, bytes32 b, string memory err) internal {
- assertNotEq(a, b, err);
- }
-
- function assertNotEq(int a, int b) internal {
- if (a == b) {
- emit log("Error: a != b not satisfied [int]");
- emit log_named_int(" Left", a);
- emit log_named_int(" Right", b);
- fail();
- }
- }
- function assertNotEq(int a, int b, string memory err) internal {
- if (a == b) {
- emit log_named_string("Error", err);
- assertNotEq(a, b);
- }
- }
- function assertNotEq(uint a, uint b) internal {
- if (a == b) {
- emit log("Error: a != b not satisfied [uint]");
- emit log_named_uint(" Left", a);
- emit log_named_uint(" Right", b);
- fail();
- }
- }
- function assertNotEq(uint a, uint b, string memory err) internal {
- if (a == b) {
- emit log_named_string("Error", err);
- assertNotEq(a, b);
- }
- }
- function assertNotEqDecimal(int a, int b, uint decimals) internal {
- if (a == b) {
- emit log("Error: a != b not satisfied [decimal int]");
- emit log_named_decimal_int(" Left", a, decimals);
- emit log_named_decimal_int(" Right", b, decimals);
- fail();
- }
- }
- function assertNotEqDecimal(int a, int b, uint decimals, string memory err) internal {
- if (a == b) {
- emit log_named_string("Error", err);
- assertNotEqDecimal(a, b, decimals);
- }
- }
- function assertNotEqDecimal(uint a, uint b, uint decimals) internal {
- if (a == b) {
- emit log("Error: a != b not satisfied [decimal uint]");
- emit log_named_decimal_uint(" Left", a, decimals);
- emit log_named_decimal_uint(" Right", b, decimals);
- fail();
- }
- }
- function assertNotEqDecimal(uint a, uint b, uint decimals, string memory err) internal {
- if (a == b) {
- emit log_named_string("Error", err);
- assertNotEqDecimal(a, b, decimals);
- }
- }
-
- function assertGt(uint a, uint b) internal {
- if (a <= b) {
- emit log("Error: a > b not satisfied [uint]");
- emit log_named_uint(" Value a", a);
- emit log_named_uint(" Value b", b);
- fail();
- }
- }
- function assertGt(uint a, uint b, string memory err) internal {
- if (a <= b) {
- emit log_named_string("Error", err);
- assertGt(a, b);
- }
- }
- function assertGt(int a, int b) internal {
- if (a <= b) {
- emit log("Error: a > b not satisfied [int]");
- emit log_named_int(" Value a", a);
- emit log_named_int(" Value b", b);
- fail();
- }
- }
- function assertGt(int a, int b, string memory err) internal {
- if (a <= b) {
- emit log_named_string("Error", err);
- assertGt(a, b);
- }
- }
- function assertGtDecimal(int a, int b, uint decimals) internal {
- if (a <= b) {
- emit log("Error: a > b not satisfied [decimal int]");
- emit log_named_decimal_int(" Value a", a, decimals);
- emit log_named_decimal_int(" Value b", b, decimals);
- fail();
- }
- }
- function assertGtDecimal(int a, int b, uint decimals, string memory err) internal {
- if (a <= b) {
- emit log_named_string("Error", err);
- assertGtDecimal(a, b, decimals);
- }
- }
- function assertGtDecimal(uint a, uint b, uint decimals) internal {
- if (a <= b) {
- emit log("Error: a > b not satisfied [decimal uint]");
- emit log_named_decimal_uint(" Value a", a, decimals);
- emit log_named_decimal_uint(" Value b", b, decimals);
- fail();
- }
- }
- function assertGtDecimal(uint a, uint b, uint decimals, string memory err) internal {
- if (a <= b) {
- emit log_named_string("Error", err);
- assertGtDecimal(a, b, decimals);
- }
- }
-
- function assertGe(uint a, uint b) internal {
- if (a < b) {
- emit log("Error: a >= b not satisfied [uint]");
- emit log_named_uint(" Value a", a);
- emit log_named_uint(" Value b", b);
- fail();
- }
- }
- function assertGe(uint a, uint b, string memory err) internal {
- if (a < b) {
- emit log_named_string("Error", err);
- assertGe(a, b);
- }
- }
- function assertGe(int a, int b) internal {
- if (a < b) {
- emit log("Error: a >= b not satisfied [int]");
- emit log_named_int(" Value a", a);
- emit log_named_int(" Value b", b);
- fail();
- }
- }
- function assertGe(int a, int b, string memory err) internal {
- if (a < b) {
- emit log_named_string("Error", err);
- assertGe(a, b);
- }
- }
- function assertGeDecimal(int a, int b, uint decimals) internal {
- if (a < b) {
- emit log("Error: a >= b not satisfied [decimal int]");
- emit log_named_decimal_int(" Value a", a, decimals);
- emit log_named_decimal_int(" Value b", b, decimals);
- fail();
- }
- }
- function assertGeDecimal(int a, int b, uint decimals, string memory err) internal {
- if (a < b) {
- emit log_named_string("Error", err);
- assertGeDecimal(a, b, decimals);
- }
- }
- function assertGeDecimal(uint a, uint b, uint decimals) internal {
- if (a < b) {
- emit log("Error: a >= b not satisfied [decimal uint]");
- emit log_named_decimal_uint(" Value a", a, decimals);
- emit log_named_decimal_uint(" Value b", b, decimals);
- fail();
- }
- }
- function assertGeDecimal(uint a, uint b, uint decimals, string memory err) internal {
- if (a < b) {
- emit log_named_string("Error", err);
- assertGeDecimal(a, b, decimals);
- }
- }
-
- function assertLt(uint a, uint b) internal {
- if (a >= b) {
- emit log("Error: a < b not satisfied [uint]");
- emit log_named_uint(" Value a", a);
- emit log_named_uint(" Value b", b);
- fail();
- }
- }
- function assertLt(uint a, uint b, string memory err) internal {
- if (a >= b) {
- emit log_named_string("Error", err);
- assertLt(a, b);
- }
- }
- function assertLt(int a, int b) internal {
- if (a >= b) {
- emit log("Error: a < b not satisfied [int]");
- emit log_named_int(" Value a", a);
- emit log_named_int(" Value b", b);
- fail();
- }
- }
- function assertLt(int a, int b, string memory err) internal {
- if (a >= b) {
- emit log_named_string("Error", err);
- assertLt(a, b);
- }
- }
- function assertLtDecimal(int a, int b, uint decimals) internal {
- if (a >= b) {
- emit log("Error: a < b not satisfied [decimal int]");
- emit log_named_decimal_int(" Value a", a, decimals);
- emit log_named_decimal_int(" Value b", b, decimals);
- fail();
- }
- }
- function assertLtDecimal(int a, int b, uint decimals, string memory err) internal {
- if (a >= b) {
- emit log_named_string("Error", err);
- assertLtDecimal(a, b, decimals);
- }
- }
- function assertLtDecimal(uint a, uint b, uint decimals) internal {
- if (a >= b) {
- emit log("Error: a < b not satisfied [decimal uint]");
- emit log_named_decimal_uint(" Value a", a, decimals);
- emit log_named_decimal_uint(" Value b", b, decimals);
- fail();
- }
- }
- function assertLtDecimal(uint a, uint b, uint decimals, string memory err) internal {
- if (a >= b) {
- emit log_named_string("Error", err);
- assertLtDecimal(a, b, decimals);
- }
- }
-
- function assertLe(uint a, uint b) internal {
- if (a > b) {
- emit log("Error: a <= b not satisfied [uint]");
- emit log_named_uint(" Value a", a);
- emit log_named_uint(" Value b", b);
- fail();
- }
- }
- function assertLe(uint a, uint b, string memory err) internal {
- if (a > b) {
- emit log_named_string("Error", err);
- assertLe(a, b);
- }
- }
- function assertLe(int a, int b) internal {
- if (a > b) {
- emit log("Error: a <= b not satisfied [int]");
- emit log_named_int(" Value a", a);
- emit log_named_int(" Value b", b);
- fail();
- }
- }
- function assertLe(int a, int b, string memory err) internal {
- if (a > b) {
- emit log_named_string("Error", err);
- assertLe(a, b);
- }
- }
- function assertLeDecimal(int a, int b, uint decimals) internal {
- if (a > b) {
- emit log("Error: a <= b not satisfied [decimal int]");
- emit log_named_decimal_int(" Value a", a, decimals);
- emit log_named_decimal_int(" Value b", b, decimals);
- fail();
- }
- }
- function assertLeDecimal(int a, int b, uint decimals, string memory err) internal {
- if (a > b) {
- emit log_named_string("Error", err);
- assertLeDecimal(a, b, decimals);
- }
- }
- function assertLeDecimal(uint a, uint b, uint decimals) internal {
- if (a > b) {
- emit log("Error: a <= b not satisfied [decimal uint]");
- emit log_named_decimal_uint(" Value a", a, decimals);
- emit log_named_decimal_uint(" Value b", b, decimals);
- fail();
- }
- }
- function assertLeDecimal(uint a, uint b, uint decimals, string memory err) internal {
- if (a > b) {
- emit log_named_string("Error", err);
- assertLeDecimal(a, b, decimals);
- }
- }
-
- function assertEq(string memory a, string memory b) internal {
- if (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b))) {
- emit log("Error: a == b not satisfied [string]");
- emit log_named_string(" Left", a);
- emit log_named_string(" Right", b);
- fail();
- }
- }
- function assertEq(string memory a, string memory b, string memory err) internal {
- if (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b))) {
- emit log_named_string("Error", err);
- assertEq(a, b);
- }
- }
-
- function assertNotEq(string memory a, string memory b) internal {
- if (keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b))) {
- emit log("Error: a != b not satisfied [string]");
- emit log_named_string(" Left", a);
- emit log_named_string(" Right", b);
- fail();
- }
- }
- function assertNotEq(string memory a, string memory b, string memory err) internal {
- if (keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b))) {
- emit log_named_string("Error", err);
- assertNotEq(a, b);
- }
- }
-
- function checkEq0(bytes memory a, bytes memory b) internal pure returns (bool ok) {
- ok = true;
- if (a.length == b.length) {
- for (uint i = 0; i < a.length; i++) {
- if (a[i] != b[i]) {
- ok = false;
- }
- }
- } else {
- ok = false;
- }
- }
- function assertEq0(bytes memory a, bytes memory b) internal {
- if (!checkEq0(a, b)) {
- emit log("Error: a == b not satisfied [bytes]");
- emit log_named_bytes(" Left", a);
- emit log_named_bytes(" Right", b);
- fail();
- }
- }
- function assertEq0(bytes memory a, bytes memory b, string memory err) internal {
- if (!checkEq0(a, b)) {
- emit log_named_string("Error", err);
- assertEq0(a, b);
- }
- }
-
- function assertNotEq0(bytes memory a, bytes memory b) internal {
- if (checkEq0(a, b)) {
- emit log("Error: a != b not satisfied [bytes]");
- emit log_named_bytes(" Left", a);
- emit log_named_bytes(" Right", b);
- fail();
- }
- }
- function assertNotEq0(bytes memory a, bytes memory b, string memory err) internal {
- if (checkEq0(a, b)) {
- emit log_named_string("Error", err);
- assertNotEq0(a, b);
- }
- }
-}
diff --git a/lib/forge-std/lib/ds-test/src/test.t.sol b/lib/forge-std/lib/ds-test/src/test.t.sol
deleted file mode 100644
index d277a30..0000000
--- a/lib/forge-std/lib/ds-test/src/test.t.sol
+++ /dev/null
@@ -1,417 +0,0 @@
-// SPDX-License-Identifier: GPL-3.0-or-later
-pragma solidity >=0.5.0;
-
-import {DSTest} from "./test.sol";
-
-contract DemoTest is DSTest {
-
- // --- assertTrue ---
-
- function testAssertTrue() public {
- assertTrue(true, "msg");
- assertTrue(true);
- }
- function testFailAssertTrue() public {
- assertTrue(false);
- }
- function testFailAssertTrueWithMsg() public {
- assertTrue(false, "msg");
- }
-
- // --- assertEq (Addr) ---
-
- function testAssertEqAddr() public {
- assertEq(address(0x0), address(0x0), "msg");
- assertEq(address(0x0), address(0x0));
- }
- function testFailAssertEqAddr() public {
- assertEq(address(0x0), address(0x1));
- }
- function testFailAssertEqAddrWithMsg() public {
- assertEq(address(0x0), address(0x1), "msg");
- }
-
- // --- assertEq (Bytes32) ---
-
- function testAssertEqBytes32() public {
- assertEq(bytes32("hi"), bytes32("hi"), "msg");
- assertEq(bytes32("hi"), bytes32("hi"));
- }
- function testFailAssertEqBytes32() public {
- assertEq(bytes32("hi"), bytes32("ho"));
- }
- function testFailAssertEqBytes32WithMsg() public {
- assertEq(bytes32("hi"), bytes32("ho"), "msg");
- }
-
- // --- assertEq (Int) ---
-
- function testAssertEqInt() public {
- assertEq(-1, -1, "msg");
- assertEq(-1, -1);
- }
- function testFailAssertEqInt() public {
- assertEq(-1, -2);
- }
- function testFailAssertEqIntWithMsg() public {
- assertEq(-1, -2, "msg");
- }
-
- // --- assertEq (UInt) ---
-
- function testAssertEqUInt() public {
- assertEq(uint(1), uint(1), "msg");
- assertEq(uint(1), uint(1));
- }
- function testFailAssertEqUInt() public {
- assertEq(uint(1), uint(2));
- }
- function testFailAssertEqUIntWithMsg() public {
- assertEq(uint(1), uint(2), "msg");
- }
-
- // --- assertEqDecimal (Int) ---
-
- function testAssertEqDecimalInt() public {
- assertEqDecimal(-1, -1, 18, "msg");
- assertEqDecimal(-1, -1, 18);
- }
- function testFailAssertEqDecimalInt() public {
- assertEqDecimal(-1, -2, 18);
- }
- function testFailAssertEqDecimalIntWithMsg() public {
- assertEqDecimal(-1, -2, 18, "msg");
- }
-
- // --- assertEqDecimal (UInt) ---
-
- function testAssertEqDecimalUInt() public {
- assertEqDecimal(uint(1), uint(1), 18, "msg");
- assertEqDecimal(uint(1), uint(1), 18);
- }
- function testFailAssertEqDecimalUInt() public {
- assertEqDecimal(uint(1), uint(2), 18);
- }
- function testFailAssertEqDecimalUIntWithMsg() public {
- assertEqDecimal(uint(1), uint(2), 18, "msg");
- }
-
- // --- assertNotEq (Addr) ---
-
- function testAssertNotEqAddr() public {
- assertNotEq(address(0x0), address(0x1), "msg");
- assertNotEq(address(0x0), address(0x1));
- }
- function testFailAssertNotEqAddr() public {
- assertNotEq(address(0x0), address(0x0));
- }
- function testFailAssertNotEqAddrWithMsg() public {
- assertNotEq(address(0x0), address(0x0), "msg");
- }
-
- // --- assertNotEq (Bytes32) ---
-
- function testAssertNotEqBytes32() public {
- assertNotEq(bytes32("hi"), bytes32("ho"), "msg");
- assertNotEq(bytes32("hi"), bytes32("ho"));
- }
- function testFailAssertNotEqBytes32() public {
- assertNotEq(bytes32("hi"), bytes32("hi"));
- }
- function testFailAssertNotEqBytes32WithMsg() public {
- assertNotEq(bytes32("hi"), bytes32("hi"), "msg");
- }
-
- // --- assertNotEq (Int) ---
-
- function testAssertNotEqInt() public {
- assertNotEq(-1, -2, "msg");
- assertNotEq(-1, -2);
- }
- function testFailAssertNotEqInt() public {
- assertNotEq(-1, -1);
- }
- function testFailAssertNotEqIntWithMsg() public {
- assertNotEq(-1, -1, "msg");
- }
-
- // --- assertNotEq (UInt) ---
-
- function testAssertNotEqUInt() public {
- assertNotEq(uint(1), uint(2), "msg");
- assertNotEq(uint(1), uint(2));
- }
- function testFailAssertNotEqUInt() public {
- assertNotEq(uint(1), uint(1));
- }
- function testFailAssertNotEqUIntWithMsg() public {
- assertNotEq(uint(1), uint(1), "msg");
- }
-
- // --- assertNotEqDecimal (Int) ---
-
- function testAssertNotEqDecimalInt() public {
- assertNotEqDecimal(-1, -2, 18, "msg");
- assertNotEqDecimal(-1, -2, 18);
- }
- function testFailAssertNotEqDecimalInt() public {
- assertNotEqDecimal(-1, -1, 18);
- }
- function testFailAssertNotEqDecimalIntWithMsg() public {
- assertNotEqDecimal(-1, -1, 18, "msg");
- }
-
- // --- assertNotEqDecimal (UInt) ---
-
- function testAssertNotEqDecimalUInt() public {
- assertNotEqDecimal(uint(1), uint(2), 18, "msg");
- assertNotEqDecimal(uint(1), uint(2), 18);
- }
- function testFailAssertNotEqDecimalUInt() public {
- assertNotEqDecimal(uint(1), uint(1), 18);
- }
- function testFailAssertNotEqDecimalUIntWithMsg() public {
- assertNotEqDecimal(uint(1), uint(1), 18, "msg");
- }
-
- // --- assertGt (UInt) ---
-
- function testAssertGtUInt() public {
- assertGt(uint(2), uint(1), "msg");
- assertGt(uint(3), uint(2));
- }
- function testFailAssertGtUInt() public {
- assertGt(uint(1), uint(2));
- }
- function testFailAssertGtUIntWithMsg() public {
- assertGt(uint(1), uint(2), "msg");
- }
-
- // --- assertGt (Int) ---
-
- function testAssertGtInt() public {
- assertGt(-1, -2, "msg");
- assertGt(-1, -3);
- }
- function testFailAssertGtInt() public {
- assertGt(-2, -1);
- }
- function testFailAssertGtIntWithMsg() public {
- assertGt(-2, -1, "msg");
- }
-
- // --- assertGtDecimal (UInt) ---
-
- function testAssertGtDecimalUInt() public {
- assertGtDecimal(uint(2), uint(1), 18, "msg");
- assertGtDecimal(uint(3), uint(2), 18);
- }
- function testFailAssertGtDecimalUInt() public {
- assertGtDecimal(uint(1), uint(2), 18);
- }
- function testFailAssertGtDecimalUIntWithMsg() public {
- assertGtDecimal(uint(1), uint(2), 18, "msg");
- }
-
- // --- assertGtDecimal (Int) ---
-
- function testAssertGtDecimalInt() public {
- assertGtDecimal(-1, -2, 18, "msg");
- assertGtDecimal(-1, -3, 18);
- }
- function testFailAssertGtDecimalInt() public {
- assertGtDecimal(-2, -1, 18);
- }
- function testFailAssertGtDecimalIntWithMsg() public {
- assertGtDecimal(-2, -1, 18, "msg");
- }
-
- // --- assertGe (UInt) ---
-
- function testAssertGeUInt() public {
- assertGe(uint(2), uint(1), "msg");
- assertGe(uint(2), uint(2));
- }
- function testFailAssertGeUInt() public {
- assertGe(uint(1), uint(2));
- }
- function testFailAssertGeUIntWithMsg() public {
- assertGe(uint(1), uint(2), "msg");
- }
-
- // --- assertGe (Int) ---
-
- function testAssertGeInt() public {
- assertGe(-1, -2, "msg");
- assertGe(-1, -1);
- }
- function testFailAssertGeInt() public {
- assertGe(-2, -1);
- }
- function testFailAssertGeIntWithMsg() public {
- assertGe(-2, -1, "msg");
- }
-
- // --- assertGeDecimal (UInt) ---
-
- function testAssertGeDecimalUInt() public {
- assertGeDecimal(uint(2), uint(1), 18, "msg");
- assertGeDecimal(uint(2), uint(2), 18);
- }
- function testFailAssertGeDecimalUInt() public {
- assertGeDecimal(uint(1), uint(2), 18);
- }
- function testFailAssertGeDecimalUIntWithMsg() public {
- assertGeDecimal(uint(1), uint(2), 18, "msg");
- }
-
- // --- assertGeDecimal (Int) ---
-
- function testAssertGeDecimalInt() public {
- assertGeDecimal(-1, -2, 18, "msg");
- assertGeDecimal(-1, -2, 18);
- }
- function testFailAssertGeDecimalInt() public {
- assertGeDecimal(-2, -1, 18);
- }
- function testFailAssertGeDecimalIntWithMsg() public {
- assertGeDecimal(-2, -1, 18, "msg");
- }
-
- // --- assertLt (UInt) ---
-
- function testAssertLtUInt() public {
- assertLt(uint(1), uint(2), "msg");
- assertLt(uint(1), uint(3));
- }
- function testFailAssertLtUInt() public {
- assertLt(uint(2), uint(2));
- }
- function testFailAssertLtUIntWithMsg() public {
- assertLt(uint(3), uint(2), "msg");
- }
-
- // --- assertLt (Int) ---
-
- function testAssertLtInt() public {
- assertLt(-2, -1, "msg");
- assertLt(-1, 0);
- }
- function testFailAssertLtInt() public {
- assertLt(-1, -2);
- }
- function testFailAssertLtIntWithMsg() public {
- assertLt(-1, -1, "msg");
- }
-
- // --- assertLtDecimal (UInt) ---
-
- function testAssertLtDecimalUInt() public {
- assertLtDecimal(uint(1), uint(2), 18, "msg");
- assertLtDecimal(uint(2), uint(3), 18);
- }
- function testFailAssertLtDecimalUInt() public {
- assertLtDecimal(uint(1), uint(1), 18);
- }
- function testFailAssertLtDecimalUIntWithMsg() public {
- assertLtDecimal(uint(2), uint(1), 18, "msg");
- }
-
- // --- assertLtDecimal (Int) ---
-
- function testAssertLtDecimalInt() public {
- assertLtDecimal(-2, -1, 18, "msg");
- assertLtDecimal(-2, -1, 18);
- }
- function testFailAssertLtDecimalInt() public {
- assertLtDecimal(-2, -2, 18);
- }
- function testFailAssertLtDecimalIntWithMsg() public {
- assertLtDecimal(-1, -2, 18, "msg");
- }
-
- // --- assertLe (UInt) ---
-
- function testAssertLeUInt() public {
- assertLe(uint(1), uint(2), "msg");
- assertLe(uint(1), uint(1));
- }
- function testFailAssertLeUInt() public {
- assertLe(uint(4), uint(2));
- }
- function testFailAssertLeUIntWithMsg() public {
- assertLe(uint(3), uint(2), "msg");
- }
-
- // --- assertLe (Int) ---
-
- function testAssertLeInt() public {
- assertLe(-2, -1, "msg");
- assertLe(-1, -1);
- }
- function testFailAssertLeInt() public {
- assertLe(-1, -2);
- }
- function testFailAssertLeIntWithMsg() public {
- assertLe(-1, -3, "msg");
- }
-
- // --- assertLeDecimal (UInt) ---
-
- function testAssertLeDecimalUInt() public {
- assertLeDecimal(uint(1), uint(2), 18, "msg");
- assertLeDecimal(uint(2), uint(2), 18);
- }
- function testFailAssertLeDecimalUInt() public {
- assertLeDecimal(uint(1), uint(0), 18);
- }
- function testFailAssertLeDecimalUIntWithMsg() public {
- assertLeDecimal(uint(1), uint(0), 18, "msg");
- }
-
- // --- assertLeDecimal (Int) ---
-
- function testAssertLeDecimalInt() public {
- assertLeDecimal(-2, -1, 18, "msg");
- assertLeDecimal(-2, -2, 18);
- }
- function testFailAssertLeDecimalInt() public {
- assertLeDecimal(-2, -3, 18);
- }
- function testFailAssertLeDecimalIntWithMsg() public {
- assertLeDecimal(-1, -2, 18, "msg");
- }
-
- // --- assertNotEq (String) ---
-
- function testAssertNotEqString() public {
- assertNotEq(new string(1), new string(2), "msg");
- assertNotEq(new string(1), new string(2));
- }
- function testFailAssertNotEqString() public {
- assertNotEq(new string(1), new string(1));
- }
- function testFailAssertNotEqStringWithMsg() public {
- assertNotEq(new string(1), new string(1), "msg");
- }
-
- // --- assertNotEq0 (Bytes) ---
-
- function testAssertNotEq0Bytes() public {
- assertNotEq0(bytes("hi"), bytes("ho"), "msg");
- assertNotEq0(bytes("hi"), bytes("ho"));
- }
- function testFailAssertNotEq0Bytes() public {
- assertNotEq0(bytes("hi"), bytes("hi"));
- }
- function testFailAssertNotEq0BytesWithMsg() public {
- assertNotEq0(bytes("hi"), bytes("hi"), "msg");
- }
-
- // --- fail override ---
-
- // ensure that fail can be overridden
- function fail() internal override {
- super.fail();
- }
-}
diff --git a/lib/forge-std/package.json b/lib/forge-std/package.json
deleted file mode 100644
index 310d46c..0000000
--- a/lib/forge-std/package.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "name": "forge-std",
- "version": "1.6.0",
- "description": "Forge Standard Library is a collection of helpful contracts and libraries for use with Forge and Foundry.",
- "homepage": "https://book.getfoundry.sh/forge/forge-std",
- "bugs": "https://github.com/foundry-rs/forge-std/issues",
- "license": "(Apache-2.0 OR MIT)",
- "author": "Contributors to Forge Standard Library",
- "files": [
- "src/**/*"
- ],
- "repository": {
- "type": "git",
- "url": "https://github.com/foundry-rs/forge-std.git"
- }
-}
diff --git a/lib/forge-std/src/Base.sol b/lib/forge-std/src/Base.sol
deleted file mode 100644
index 851ac0c..0000000
--- a/lib/forge-std/src/Base.sol
+++ /dev/null
@@ -1,35 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2 <0.9.0;
-
-import {StdStorage} from "./StdStorage.sol";
-import {Vm, VmSafe} from "./Vm.sol";
-
-abstract contract CommonBase {
- // Cheat code address, 0x7109709ECfa91a80626fF3989D68f67F5b1DD12D.
- address internal constant VM_ADDRESS = address(uint160(uint256(keccak256("hevm cheat code"))));
- // console.sol and console2.sol work by executing a staticcall to this address.
- address internal constant CONSOLE = 0x000000000000000000636F6e736F6c652e6c6f67;
- // Used when deploying with create2, https://github.com/Arachnid/deterministic-deployment-proxy.
- address internal constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C;
- // Default address for tx.origin and msg.sender, 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38.
- address internal constant DEFAULT_SENDER = address(uint160(uint256(keccak256("foundry default caller"))));
- // Address of the test contract, deployed by the DEFAULT_SENDER.
- address internal constant DEFAULT_TEST_CONTRACT = 0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f;
- // Deterministic deployment address of the Multicall3 contract.
- address internal constant MULTICALL3_ADDRESS = 0xcA11bde05977b3631167028862bE2a173976CA11;
- // The order of the secp256k1 curve.
- uint256 internal constant SECP256K1_ORDER =
- 115792089237316195423570985008687907852837564279074904382605163141518161494337;
-
- uint256 internal constant UINT256_MAX =
- 115792089237316195423570985008687907853269984665640564039457584007913129639935;
-
- Vm internal constant vm = Vm(VM_ADDRESS);
- StdStorage internal stdstore;
-}
-
-abstract contract TestBase is CommonBase {}
-
-abstract contract ScriptBase is CommonBase {
- VmSafe internal constant vmSafe = VmSafe(VM_ADDRESS);
-}
diff --git a/lib/forge-std/src/Script.sol b/lib/forge-std/src/Script.sol
deleted file mode 100644
index fb612ef..0000000
--- a/lib/forge-std/src/Script.sol
+++ /dev/null
@@ -1,27 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2 <0.9.0;
-
-// 💬 ABOUT
-// Forge Std's default Script.
-
-// 🧩 MODULES
-import {console} from "./console.sol";
-import {console2} from "./console2.sol";
-import {safeconsole} from "./safeconsole.sol";
-import {StdChains} from "./StdChains.sol";
-import {StdCheatsSafe} from "./StdCheats.sol";
-import {stdJson} from "./StdJson.sol";
-import {stdMath} from "./StdMath.sol";
-import {StdStorage, stdStorageSafe} from "./StdStorage.sol";
-import {StdStyle} from "./StdStyle.sol";
-import {StdUtils} from "./StdUtils.sol";
-import {VmSafe} from "./Vm.sol";
-
-// 📦 BOILERPLATE
-import {ScriptBase} from "./Base.sol";
-
-// ⭐️ SCRIPT
-abstract contract Script is StdChains, StdCheatsSafe, StdUtils, ScriptBase {
- // Note: IS_SCRIPT() must return true.
- bool public IS_SCRIPT = true;
-}
diff --git a/lib/forge-std/src/StdAssertions.sol b/lib/forge-std/src/StdAssertions.sol
deleted file mode 100644
index 2778b3a..0000000
--- a/lib/forge-std/src/StdAssertions.sol
+++ /dev/null
@@ -1,376 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2 <0.9.0;
-
-import {DSTest} from "ds-test/test.sol";
-import {stdMath} from "./StdMath.sol";
-
-abstract contract StdAssertions is DSTest {
- event log_array(uint256[] val);
- event log_array(int256[] val);
- event log_array(address[] val);
- event log_named_array(string key, uint256[] val);
- event log_named_array(string key, int256[] val);
- event log_named_array(string key, address[] val);
-
- function fail(string memory err) internal virtual {
- emit log_named_string("Error", err);
- fail();
- }
-
- function assertFalse(bool data) internal virtual {
- assertTrue(!data);
- }
-
- function assertFalse(bool data, string memory err) internal virtual {
- assertTrue(!data, err);
- }
-
- function assertEq(bool a, bool b) internal virtual {
- if (a != b) {
- emit log("Error: a == b not satisfied [bool]");
- emit log_named_string(" Left", a ? "true" : "false");
- emit log_named_string(" Right", b ? "true" : "false");
- fail();
- }
- }
-
- function assertEq(bool a, bool b, string memory err) internal virtual {
- if (a != b) {
- emit log_named_string("Error", err);
- assertEq(a, b);
- }
- }
-
- function assertEq(bytes memory a, bytes memory b) internal virtual {
- assertEq0(a, b);
- }
-
- function assertEq(bytes memory a, bytes memory b, string memory err) internal virtual {
- assertEq0(a, b, err);
- }
-
- function assertEq(uint256[] memory a, uint256[] memory b) internal virtual {
- if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {
- emit log("Error: a == b not satisfied [uint[]]");
- emit log_named_array(" Left", a);
- emit log_named_array(" Right", b);
- fail();
- }
- }
-
- function assertEq(int256[] memory a, int256[] memory b) internal virtual {
- if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {
- emit log("Error: a == b not satisfied [int[]]");
- emit log_named_array(" Left", a);
- emit log_named_array(" Right", b);
- fail();
- }
- }
-
- function assertEq(address[] memory a, address[] memory b) internal virtual {
- if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {
- emit log("Error: a == b not satisfied [address[]]");
- emit log_named_array(" Left", a);
- emit log_named_array(" Right", b);
- fail();
- }
- }
-
- function assertEq(uint256[] memory a, uint256[] memory b, string memory err) internal virtual {
- if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {
- emit log_named_string("Error", err);
- assertEq(a, b);
- }
- }
-
- function assertEq(int256[] memory a, int256[] memory b, string memory err) internal virtual {
- if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {
- emit log_named_string("Error", err);
- assertEq(a, b);
- }
- }
-
- function assertEq(address[] memory a, address[] memory b, string memory err) internal virtual {
- if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {
- emit log_named_string("Error", err);
- assertEq(a, b);
- }
- }
-
- // Legacy helper
- function assertEqUint(uint256 a, uint256 b) internal virtual {
- assertEq(uint256(a), uint256(b));
- }
-
- function assertApproxEqAbs(uint256 a, uint256 b, uint256 maxDelta) internal virtual {
- uint256 delta = stdMath.delta(a, b);
-
- if (delta > maxDelta) {
- emit log("Error: a ~= b not satisfied [uint]");
- emit log_named_uint(" Left", a);
- emit log_named_uint(" Right", b);
- emit log_named_uint(" Max Delta", maxDelta);
- emit log_named_uint(" Delta", delta);
- fail();
- }
- }
-
- function assertApproxEqAbs(uint256 a, uint256 b, uint256 maxDelta, string memory err) internal virtual {
- uint256 delta = stdMath.delta(a, b);
-
- if (delta > maxDelta) {
- emit log_named_string("Error", err);
- assertApproxEqAbs(a, b, maxDelta);
- }
- }
-
- function assertApproxEqAbsDecimal(uint256 a, uint256 b, uint256 maxDelta, uint256 decimals) internal virtual {
- uint256 delta = stdMath.delta(a, b);
-
- if (delta > maxDelta) {
- emit log("Error: a ~= b not satisfied [uint]");
- emit log_named_decimal_uint(" Left", a, decimals);
- emit log_named_decimal_uint(" Right", b, decimals);
- emit log_named_decimal_uint(" Max Delta", maxDelta, decimals);
- emit log_named_decimal_uint(" Delta", delta, decimals);
- fail();
- }
- }
-
- function assertApproxEqAbsDecimal(uint256 a, uint256 b, uint256 maxDelta, uint256 decimals, string memory err)
- internal
- virtual
- {
- uint256 delta = stdMath.delta(a, b);
-
- if (delta > maxDelta) {
- emit log_named_string("Error", err);
- assertApproxEqAbsDecimal(a, b, maxDelta, decimals);
- }
- }
-
- function assertApproxEqAbs(int256 a, int256 b, uint256 maxDelta) internal virtual {
- uint256 delta = stdMath.delta(a, b);
-
- if (delta > maxDelta) {
- emit log("Error: a ~= b not satisfied [int]");
- emit log_named_int(" Left", a);
- emit log_named_int(" Right", b);
- emit log_named_uint(" Max Delta", maxDelta);
- emit log_named_uint(" Delta", delta);
- fail();
- }
- }
-
- function assertApproxEqAbs(int256 a, int256 b, uint256 maxDelta, string memory err) internal virtual {
- uint256 delta = stdMath.delta(a, b);
-
- if (delta > maxDelta) {
- emit log_named_string("Error", err);
- assertApproxEqAbs(a, b, maxDelta);
- }
- }
-
- function assertApproxEqAbsDecimal(int256 a, int256 b, uint256 maxDelta, uint256 decimals) internal virtual {
- uint256 delta = stdMath.delta(a, b);
-
- if (delta > maxDelta) {
- emit log("Error: a ~= b not satisfied [int]");
- emit log_named_decimal_int(" Left", a, decimals);
- emit log_named_decimal_int(" Right", b, decimals);
- emit log_named_decimal_uint(" Max Delta", maxDelta, decimals);
- emit log_named_decimal_uint(" Delta", delta, decimals);
- fail();
- }
- }
-
- function assertApproxEqAbsDecimal(int256 a, int256 b, uint256 maxDelta, uint256 decimals, string memory err)
- internal
- virtual
- {
- uint256 delta = stdMath.delta(a, b);
-
- if (delta > maxDelta) {
- emit log_named_string("Error", err);
- assertApproxEqAbsDecimal(a, b, maxDelta, decimals);
- }
- }
-
- function assertApproxEqRel(
- uint256 a,
- uint256 b,
- uint256 maxPercentDelta // An 18 decimal fixed point number, where 1e18 == 100%
- ) internal virtual {
- if (b == 0) return assertEq(a, b); // If the left is 0, right must be too.
-
- uint256 percentDelta = stdMath.percentDelta(a, b);
-
- if (percentDelta > maxPercentDelta) {
- emit log("Error: a ~= b not satisfied [uint]");
- emit log_named_uint(" Left", a);
- emit log_named_uint(" Right", b);
- emit log_named_decimal_uint(" Max % Delta", maxPercentDelta * 100, 18);
- emit log_named_decimal_uint(" % Delta", percentDelta * 100, 18);
- fail();
- }
- }
-
- function assertApproxEqRel(
- uint256 a,
- uint256 b,
- uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%
- string memory err
- ) internal virtual {
- if (b == 0) return assertEq(a, b, err); // If the left is 0, right must be too.
-
- uint256 percentDelta = stdMath.percentDelta(a, b);
-
- if (percentDelta > maxPercentDelta) {
- emit log_named_string("Error", err);
- assertApproxEqRel(a, b, maxPercentDelta);
- }
- }
-
- function assertApproxEqRelDecimal(
- uint256 a,
- uint256 b,
- uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%
- uint256 decimals
- ) internal virtual {
- if (b == 0) return assertEq(a, b); // If the left is 0, right must be too.
-
- uint256 percentDelta = stdMath.percentDelta(a, b);
-
- if (percentDelta > maxPercentDelta) {
- emit log("Error: a ~= b not satisfied [uint]");
- emit log_named_decimal_uint(" Left", a, decimals);
- emit log_named_decimal_uint(" Right", b, decimals);
- emit log_named_decimal_uint(" Max % Delta", maxPercentDelta * 100, 18);
- emit log_named_decimal_uint(" % Delta", percentDelta * 100, 18);
- fail();
- }
- }
-
- function assertApproxEqRelDecimal(
- uint256 a,
- uint256 b,
- uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%
- uint256 decimals,
- string memory err
- ) internal virtual {
- if (b == 0) return assertEq(a, b, err); // If the left is 0, right must be too.
-
- uint256 percentDelta = stdMath.percentDelta(a, b);
-
- if (percentDelta > maxPercentDelta) {
- emit log_named_string("Error", err);
- assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals);
- }
- }
-
- function assertApproxEqRel(int256 a, int256 b, uint256 maxPercentDelta) internal virtual {
- if (b == 0) return assertEq(a, b); // If the left is 0, right must be too.
-
- uint256 percentDelta = stdMath.percentDelta(a, b);
-
- if (percentDelta > maxPercentDelta) {
- emit log("Error: a ~= b not satisfied [int]");
- emit log_named_int(" Left", a);
- emit log_named_int(" Right", b);
- emit log_named_decimal_uint(" Max % Delta", maxPercentDelta * 100, 18);
- emit log_named_decimal_uint(" % Delta", percentDelta * 100, 18);
- fail();
- }
- }
-
- function assertApproxEqRel(int256 a, int256 b, uint256 maxPercentDelta, string memory err) internal virtual {
- if (b == 0) return assertEq(a, b, err); // If the left is 0, right must be too.
-
- uint256 percentDelta = stdMath.percentDelta(a, b);
-
- if (percentDelta > maxPercentDelta) {
- emit log_named_string("Error", err);
- assertApproxEqRel(a, b, maxPercentDelta);
- }
- }
-
- function assertApproxEqRelDecimal(int256 a, int256 b, uint256 maxPercentDelta, uint256 decimals) internal virtual {
- if (b == 0) return assertEq(a, b); // If the left is 0, right must be too.
-
- uint256 percentDelta = stdMath.percentDelta(a, b);
-
- if (percentDelta > maxPercentDelta) {
- emit log("Error: a ~= b not satisfied [int]");
- emit log_named_decimal_int(" Left", a, decimals);
- emit log_named_decimal_int(" Right", b, decimals);
- emit log_named_decimal_uint(" Max % Delta", maxPercentDelta * 100, 18);
- emit log_named_decimal_uint(" % Delta", percentDelta * 100, 18);
- fail();
- }
- }
-
- function assertApproxEqRelDecimal(int256 a, int256 b, uint256 maxPercentDelta, uint256 decimals, string memory err)
- internal
- virtual
- {
- if (b == 0) return assertEq(a, b, err); // If the left is 0, right must be too.
-
- uint256 percentDelta = stdMath.percentDelta(a, b);
-
- if (percentDelta > maxPercentDelta) {
- emit log_named_string("Error", err);
- assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals);
- }
- }
-
- function assertEqCall(address target, bytes memory callDataA, bytes memory callDataB) internal virtual {
- assertEqCall(target, callDataA, target, callDataB, true);
- }
-
- function assertEqCall(address targetA, bytes memory callDataA, address targetB, bytes memory callDataB)
- internal
- virtual
- {
- assertEqCall(targetA, callDataA, targetB, callDataB, true);
- }
-
- function assertEqCall(address target, bytes memory callDataA, bytes memory callDataB, bool strictRevertData)
- internal
- virtual
- {
- assertEqCall(target, callDataA, target, callDataB, strictRevertData);
- }
-
- function assertEqCall(
- address targetA,
- bytes memory callDataA,
- address targetB,
- bytes memory callDataB,
- bool strictRevertData
- ) internal virtual {
- (bool successA, bytes memory returnDataA) = address(targetA).call(callDataA);
- (bool successB, bytes memory returnDataB) = address(targetB).call(callDataB);
-
- if (successA && successB) {
- assertEq(returnDataA, returnDataB, "Call return data does not match");
- }
-
- if (!successA && !successB && strictRevertData) {
- assertEq(returnDataA, returnDataB, "Call revert data does not match");
- }
-
- if (!successA && successB) {
- emit log("Error: Calls were not equal");
- emit log_named_bytes(" Left call revert data", returnDataA);
- emit log_named_bytes(" Right call return data", returnDataB);
- fail();
- }
-
- if (successA && !successB) {
- emit log("Error: Calls were not equal");
- emit log_named_bytes(" Left call return data", returnDataA);
- emit log_named_bytes(" Right call revert data", returnDataB);
- fail();
- }
- }
-}
diff --git a/lib/forge-std/src/StdChains.sol b/lib/forge-std/src/StdChains.sol
deleted file mode 100644
index 12db076..0000000
--- a/lib/forge-std/src/StdChains.sol
+++ /dev/null
@@ -1,229 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2 <0.9.0;
-
-import {VmSafe} from "./Vm.sol";
-
-/**
- * StdChains provides information about EVM compatible chains that can be used in scripts/tests.
- * For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are
- * identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of
- * the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the
- * alias used in this contract, which can be found as the first argument to the
- * `setChainWithDefaultRpcUrl` call in the `initializeStdChains` function.
- *
- * There are two main ways to use this contract:
- * 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or
- * `setChain(string memory chainAlias, Chain memory chain)`
- * 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`.
- *
- * The first time either of those are used, chains are initialized with the default set of RPC URLs.
- * This is done in `initializeStdChains`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in
- * `defaultRpcUrls`.
- *
- * The `setChain` function is straightforward, and it simply saves off the given chain data.
- *
- * The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say
- * we want to retrieve the RPC URL for `mainnet`:
- * - If you have specified data with `setChain`, it will return that.
- * - If you have configured a mainnet RPC URL in `foundry.toml`, it will return the URL, provided it
- * is valid (e.g. a URL is specified, or an environment variable is given and exists).
- * - If neither of the above conditions is met, the default data is returned.
- *
- * Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults.
- */
-abstract contract StdChains {
- VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256("hevm cheat code")))));
-
- bool private stdChainsInitialized;
-
- struct ChainData {
- string name;
- uint256 chainId;
- string rpcUrl;
- }
-
- struct Chain {
- // The chain name.
- string name;
- // The chain's Chain ID.
- uint256 chainId;
- // The chain's alias. (i.e. what gets specified in `foundry.toml`).
- string chainAlias;
- // A default RPC endpoint for this chain.
- // NOTE: This default RPC URL is included for convenience to facilitate quick tests and
- // experimentation. Do not use this RPC URL for production test suites, CI, or other heavy
- // usage as you will be throttled and this is a disservice to others who need this endpoint.
- string rpcUrl;
- }
-
- // Maps from the chain's alias (matching the alias in the `foundry.toml` file) to chain data.
- mapping(string => Chain) private chains;
- // Maps from the chain's alias to it's default RPC URL.
- mapping(string => string) private defaultRpcUrls;
- // Maps from a chain ID to it's alias.
- mapping(uint256 => string) private idToAlias;
-
- bool private fallbackToDefaultRpcUrls = true;
-
- // The RPC URL will be fetched from config or defaultRpcUrls if possible.
- function getChain(string memory chainAlias) internal virtual returns (Chain memory chain) {
- require(bytes(chainAlias).length != 0, "StdChains getChain(string): Chain alias cannot be the empty string.");
-
- initializeStdChains();
- chain = chains[chainAlias];
- require(
- chain.chainId != 0,
- string(abi.encodePacked("StdChains getChain(string): Chain with alias \"", chainAlias, "\" not found."))
- );
-
- chain = getChainWithUpdatedRpcUrl(chainAlias, chain);
- }
-
- function getChain(uint256 chainId) internal virtual returns (Chain memory chain) {
- require(chainId != 0, "StdChains getChain(uint256): Chain ID cannot be 0.");
- initializeStdChains();
- string memory chainAlias = idToAlias[chainId];
-
- chain = chains[chainAlias];
-
- require(
- chain.chainId != 0,
- string(abi.encodePacked("StdChains getChain(uint256): Chain with ID ", vm.toString(chainId), " not found."))
- );
-
- chain = getChainWithUpdatedRpcUrl(chainAlias, chain);
- }
-
- // set chain info, with priority to argument's rpcUrl field.
- function setChain(string memory chainAlias, ChainData memory chain) internal virtual {
- require(
- bytes(chainAlias).length != 0,
- "StdChains setChain(string,ChainData): Chain alias cannot be the empty string."
- );
-
- require(chain.chainId != 0, "StdChains setChain(string,ChainData): Chain ID cannot be 0.");
-
- initializeStdChains();
- string memory foundAlias = idToAlias[chain.chainId];
-
- require(
- bytes(foundAlias).length == 0 || keccak256(bytes(foundAlias)) == keccak256(bytes(chainAlias)),
- string(
- abi.encodePacked(
- "StdChains setChain(string,ChainData): Chain ID ",
- vm.toString(chain.chainId),
- " already used by \"",
- foundAlias,
- "\"."
- )
- )
- );
-
- uint256 oldChainId = chains[chainAlias].chainId;
- delete idToAlias[oldChainId];
-
- chains[chainAlias] =
- Chain({name: chain.name, chainId: chain.chainId, chainAlias: chainAlias, rpcUrl: chain.rpcUrl});
- idToAlias[chain.chainId] = chainAlias;
- }
-
- // set chain info, with priority to argument's rpcUrl field.
- function setChain(string memory chainAlias, Chain memory chain) internal virtual {
- setChain(chainAlias, ChainData({name: chain.name, chainId: chain.chainId, rpcUrl: chain.rpcUrl}));
- }
-
- function _toUpper(string memory str) private pure returns (string memory) {
- bytes memory strb = bytes(str);
- bytes memory copy = new bytes(strb.length);
- for (uint256 i = 0; i < strb.length; i++) {
- bytes1 b = strb[i];
- if (b >= 0x61 && b <= 0x7A) {
- copy[i] = bytes1(uint8(b) - 32);
- } else {
- copy[i] = b;
- }
- }
- return string(copy);
- }
-
- // lookup rpcUrl, in descending order of priority:
- // current -> config (foundry.toml) -> environment variable -> default
- function getChainWithUpdatedRpcUrl(string memory chainAlias, Chain memory chain) private returns (Chain memory) {
- if (bytes(chain.rpcUrl).length == 0) {
- try vm.rpcUrl(chainAlias) returns (string memory configRpcUrl) {
- chain.rpcUrl = configRpcUrl;
- } catch (bytes memory err) {
- string memory envName = string(abi.encodePacked(_toUpper(chainAlias), "_RPC_URL"));
- if (fallbackToDefaultRpcUrls) {
- chain.rpcUrl = vm.envOr(envName, defaultRpcUrls[chainAlias]);
- } else {
- chain.rpcUrl = vm.envString(envName);
- }
- // distinguish 'not found' from 'cannot read'
- bytes memory notFoundError =
- abi.encodeWithSignature("CheatCodeError", string(abi.encodePacked("invalid rpc url ", chainAlias)));
- if (keccak256(notFoundError) != keccak256(err) || bytes(chain.rpcUrl).length == 0) {
- /// @solidity memory-safe-assembly
- assembly {
- revert(add(32, err), mload(err))
- }
- }
- }
- }
- return chain;
- }
-
- function setFallbackToDefaultRpcUrls(bool useDefault) internal {
- fallbackToDefaultRpcUrls = useDefault;
- }
-
- function initializeStdChains() private {
- if (stdChainsInitialized) return;
-
- stdChainsInitialized = true;
-
- // If adding an RPC here, make sure to test the default RPC URL in `testRpcs`
- setChainWithDefaultRpcUrl("anvil", ChainData("Anvil", 31337, "http://127.0.0.1:8545"));
- setChainWithDefaultRpcUrl(
- "mainnet", ChainData("Mainnet", 1, "https://mainnet.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001")
- );
- setChainWithDefaultRpcUrl(
- "goerli", ChainData("Goerli", 5, "https://goerli.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001")
- );
- setChainWithDefaultRpcUrl(
- "sepolia", ChainData("Sepolia", 11155111, "https://sepolia.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001")
- );
- setChainWithDefaultRpcUrl("optimism", ChainData("Optimism", 10, "https://mainnet.optimism.io"));
- setChainWithDefaultRpcUrl("optimism_goerli", ChainData("Optimism Goerli", 420, "https://goerli.optimism.io"));
- setChainWithDefaultRpcUrl("arbitrum_one", ChainData("Arbitrum One", 42161, "https://arb1.arbitrum.io/rpc"));
- setChainWithDefaultRpcUrl(
- "arbitrum_one_goerli", ChainData("Arbitrum One Goerli", 421613, "https://goerli-rollup.arbitrum.io/rpc")
- );
- setChainWithDefaultRpcUrl("arbitrum_nova", ChainData("Arbitrum Nova", 42170, "https://nova.arbitrum.io/rpc"));
- setChainWithDefaultRpcUrl("polygon", ChainData("Polygon", 137, "https://polygon-rpc.com"));
- setChainWithDefaultRpcUrl(
- "polygon_mumbai", ChainData("Polygon Mumbai", 80001, "https://rpc-mumbai.maticvigil.com")
- );
- setChainWithDefaultRpcUrl("avalanche", ChainData("Avalanche", 43114, "https://api.avax.network/ext/bc/C/rpc"));
- setChainWithDefaultRpcUrl(
- "avalanche_fuji", ChainData("Avalanche Fuji", 43113, "https://api.avax-test.network/ext/bc/C/rpc")
- );
- setChainWithDefaultRpcUrl(
- "bnb_smart_chain", ChainData("BNB Smart Chain", 56, "https://bsc-dataseed1.binance.org")
- );
- setChainWithDefaultRpcUrl(
- "bnb_smart_chain_testnet",
- ChainData("BNB Smart Chain Testnet", 97, "https://rpc.ankr.com/bsc_testnet_chapel")
- );
- setChainWithDefaultRpcUrl("gnosis_chain", ChainData("Gnosis Chain", 100, "https://rpc.gnosischain.com"));
- }
-
- // set chain info, with priority to chainAlias' rpc url in foundry.toml
- function setChainWithDefaultRpcUrl(string memory chainAlias, ChainData memory chain) private {
- string memory rpcUrl = chain.rpcUrl;
- defaultRpcUrls[chainAlias] = rpcUrl;
- chain.rpcUrl = "";
- setChain(chainAlias, chain);
- chain.rpcUrl = rpcUrl; // restore argument
- }
-}
diff --git a/lib/forge-std/src/StdCheats.sol b/lib/forge-std/src/StdCheats.sol
deleted file mode 100644
index 1b01726..0000000
--- a/lib/forge-std/src/StdCheats.sol
+++ /dev/null
@@ -1,805 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2 <0.9.0;
-
-pragma experimental ABIEncoderV2;
-
-import {StdStorage, stdStorage} from "./StdStorage.sol";
-import {Vm} from "./Vm.sol";
-
-abstract contract StdCheatsSafe {
- Vm private constant vm = Vm(address(uint160(uint256(keccak256("hevm cheat code")))));
-
- uint256 private constant UINT256_MAX =
- 115792089237316195423570985008687907853269984665640564039457584007913129639935;
-
- bool private gasMeteringOff;
-
- // Data structures to parse Transaction objects from the broadcast artifact
- // that conform to EIP1559. The Raw structs is what is parsed from the JSON
- // and then converted to the one that is used by the user for better UX.
-
- struct RawTx1559 {
- string[] arguments;
- address contractAddress;
- string contractName;
- // json value name = function
- string functionSig;
- bytes32 hash;
- // json value name = tx
- RawTx1559Detail txDetail;
- // json value name = type
- string opcode;
- }
-
- struct RawTx1559Detail {
- AccessList[] accessList;
- bytes data;
- address from;
- bytes gas;
- bytes nonce;
- address to;
- bytes txType;
- bytes value;
- }
-
- struct Tx1559 {
- string[] arguments;
- address contractAddress;
- string contractName;
- string functionSig;
- bytes32 hash;
- Tx1559Detail txDetail;
- string opcode;
- }
-
- struct Tx1559Detail {
- AccessList[] accessList;
- bytes data;
- address from;
- uint256 gas;
- uint256 nonce;
- address to;
- uint256 txType;
- uint256 value;
- }
-
- // Data structures to parse Transaction objects from the broadcast artifact
- // that DO NOT conform to EIP1559. The Raw structs is what is parsed from the JSON
- // and then converted to the one that is used by the user for better UX.
-
- struct TxLegacy {
- string[] arguments;
- address contractAddress;
- string contractName;
- string functionSig;
- string hash;
- string opcode;
- TxDetailLegacy transaction;
- }
-
- struct TxDetailLegacy {
- AccessList[] accessList;
- uint256 chainId;
- bytes data;
- address from;
- uint256 gas;
- uint256 gasPrice;
- bytes32 hash;
- uint256 nonce;
- bytes1 opcode;
- bytes32 r;
- bytes32 s;
- uint256 txType;
- address to;
- uint8 v;
- uint256 value;
- }
-
- struct AccessList {
- address accessAddress;
- bytes32[] storageKeys;
- }
-
- // Data structures to parse Receipt objects from the broadcast artifact.
- // The Raw structs is what is parsed from the JSON
- // and then converted to the one that is used by the user for better UX.
-
- struct RawReceipt {
- bytes32 blockHash;
- bytes blockNumber;
- address contractAddress;
- bytes cumulativeGasUsed;
- bytes effectiveGasPrice;
- address from;
- bytes gasUsed;
- RawReceiptLog[] logs;
- bytes logsBloom;
- bytes status;
- address to;
- bytes32 transactionHash;
- bytes transactionIndex;
- }
-
- struct Receipt {
- bytes32 blockHash;
- uint256 blockNumber;
- address contractAddress;
- uint256 cumulativeGasUsed;
- uint256 effectiveGasPrice;
- address from;
- uint256 gasUsed;
- ReceiptLog[] logs;
- bytes logsBloom;
- uint256 status;
- address to;
- bytes32 transactionHash;
- uint256 transactionIndex;
- }
-
- // Data structures to parse the entire broadcast artifact, assuming the
- // transactions conform to EIP1559.
-
- struct EIP1559ScriptArtifact {
- string[] libraries;
- string path;
- string[] pending;
- Receipt[] receipts;
- uint256 timestamp;
- Tx1559[] transactions;
- TxReturn[] txReturns;
- }
-
- struct RawEIP1559ScriptArtifact {
- string[] libraries;
- string path;
- string[] pending;
- RawReceipt[] receipts;
- TxReturn[] txReturns;
- uint256 timestamp;
- RawTx1559[] transactions;
- }
-
- struct RawReceiptLog {
- // json value = address
- address logAddress;
- bytes32 blockHash;
- bytes blockNumber;
- bytes data;
- bytes logIndex;
- bool removed;
- bytes32[] topics;
- bytes32 transactionHash;
- bytes transactionIndex;
- bytes transactionLogIndex;
- }
-
- struct ReceiptLog {
- // json value = address
- address logAddress;
- bytes32 blockHash;
- uint256 blockNumber;
- bytes data;
- uint256 logIndex;
- bytes32[] topics;
- uint256 transactionIndex;
- uint256 transactionLogIndex;
- bool removed;
- }
-
- struct TxReturn {
- string internalType;
- string value;
- }
-
- struct Account {
- address addr;
- uint256 key;
- }
-
- enum AddressType {
- Payable,
- NonPayable,
- ZeroAddress,
- Precompile,
- ForgeAddress
- }
-
- // Checks that `addr` is not blacklisted by token contracts that have a blacklist.
- function assumeNotBlacklisted(address token, address addr) internal view virtual {
- // Nothing to check if `token` is not a contract.
- uint256 tokenCodeSize;
- assembly {
- tokenCodeSize := extcodesize(token)
- }
- require(tokenCodeSize > 0, "StdCheats assumeNotBlacklisted(address,address): Token address is not a contract.");
-
- bool success;
- bytes memory returnData;
-
- // 4-byte selector for `isBlacklisted(address)`, used by USDC.
- (success, returnData) = token.staticcall(abi.encodeWithSelector(0xfe575a87, addr));
- vm.assume(!success || abi.decode(returnData, (bool)) == false);
-
- // 4-byte selector for `isBlackListed(address)`, used by USDT.
- (success, returnData) = token.staticcall(abi.encodeWithSelector(0xe47d6060, addr));
- vm.assume(!success || abi.decode(returnData, (bool)) == false);
- }
-
- // Checks that `addr` is not blacklisted by token contracts that have a blacklist.
- // This is identical to `assumeNotBlacklisted(address,address)` but with a different name, for
- // backwards compatibility, since this name was used in the original PR which has already has
- // a release. This function can be removed in a future release once we want a breaking change.
- function assumeNoBlacklisted(address token, address addr) internal view virtual {
- assumeNotBlacklisted(token, addr);
- }
-
- function assumeAddressIsNot(address addr, AddressType addressType) internal virtual {
- if (addressType == AddressType.Payable) {
- assumeNotPayable(addr);
- } else if (addressType == AddressType.NonPayable) {
- assumePayable(addr);
- } else if (addressType == AddressType.ZeroAddress) {
- assumeNotZeroAddress(addr);
- } else if (addressType == AddressType.Precompile) {
- assumeNotPrecompile(addr);
- } else if (addressType == AddressType.ForgeAddress) {
- assumeNotForgeAddress(addr);
- }
- }
-
- function assumeAddressIsNot(address addr, AddressType addressType1, AddressType addressType2) internal virtual {
- assumeAddressIsNot(addr, addressType1);
- assumeAddressIsNot(addr, addressType2);
- }
-
- function assumeAddressIsNot(
- address addr,
- AddressType addressType1,
- AddressType addressType2,
- AddressType addressType3
- ) internal virtual {
- assumeAddressIsNot(addr, addressType1);
- assumeAddressIsNot(addr, addressType2);
- assumeAddressIsNot(addr, addressType3);
- }
-
- function assumeAddressIsNot(
- address addr,
- AddressType addressType1,
- AddressType addressType2,
- AddressType addressType3,
- AddressType addressType4
- ) internal virtual {
- assumeAddressIsNot(addr, addressType1);
- assumeAddressIsNot(addr, addressType2);
- assumeAddressIsNot(addr, addressType3);
- assumeAddressIsNot(addr, addressType4);
- }
-
- // This function checks whether an address, `addr`, is payable. It works by sending 1 wei to
- // `addr` and checking the `success` return value.
- // NOTE: This function may result in state changes depending on the fallback/receive logic
- // implemented by `addr`, which should be taken into account when this function is used.
- function _isPayable(address addr) private returns (bool) {
- require(
- addr.balance < UINT256_MAX,
- "StdCheats _isPayable(address): Balance equals max uint256, so it cannot receive any more funds"
- );
- uint256 origBalanceTest = address(this).balance;
- uint256 origBalanceAddr = address(addr).balance;
-
- vm.deal(address(this), 1);
- (bool success,) = payable(addr).call{value: 1}("");
-
- // reset balances
- vm.deal(address(this), origBalanceTest);
- vm.deal(addr, origBalanceAddr);
-
- return success;
- }
-
- // NOTE: This function may result in state changes depending on the fallback/receive logic
- // implemented by `addr`, which should be taken into account when this function is used. See the
- // `_isPayable` method for more information.
- function assumePayable(address addr) internal virtual {
- vm.assume(_isPayable(addr));
- }
-
- function assumeNotPayable(address addr) internal virtual {
- vm.assume(!_isPayable(addr));
- }
-
- function assumeNotZeroAddress(address addr) internal pure virtual {
- vm.assume(addr != address(0));
- }
-
- function assumeNotPrecompile(address addr) internal pure virtual {
- assumeNotPrecompile(addr, _pureChainId());
- }
-
- function assumeNotPrecompile(address addr, uint256 chainId) internal pure virtual {
- // Note: For some chains like Optimism these are technically predeploys (i.e. bytecode placed at a specific
- // address), but the same rationale for excluding them applies so we include those too.
-
- // These should be present on all EVM-compatible chains.
- vm.assume(addr < address(0x1) || addr > address(0x9));
-
- // forgefmt: disable-start
- if (chainId == 10 || chainId == 420) {
- // https://github.com/ethereum-optimism/optimism/blob/eaa371a0184b56b7ca6d9eb9cb0a2b78b2ccd864/op-bindings/predeploys/addresses.go#L6-L21
- vm.assume(addr < address(0x4200000000000000000000000000000000000000) || addr > address(0x4200000000000000000000000000000000000800));
- } else if (chainId == 42161 || chainId == 421613) {
- // https://developer.arbitrum.io/useful-addresses#arbitrum-precompiles-l2-same-on-all-arb-chains
- vm.assume(addr < address(0x0000000000000000000000000000000000000064) || addr > address(0x0000000000000000000000000000000000000068));
- } else if (chainId == 43114 || chainId == 43113) {
- // https://github.com/ava-labs/subnet-evm/blob/47c03fd007ecaa6de2c52ea081596e0a88401f58/precompile/params.go#L18-L59
- vm.assume(addr < address(0x0100000000000000000000000000000000000000) || addr > address(0x01000000000000000000000000000000000000ff));
- vm.assume(addr < address(0x0200000000000000000000000000000000000000) || addr > address(0x02000000000000000000000000000000000000FF));
- vm.assume(addr < address(0x0300000000000000000000000000000000000000) || addr > address(0x03000000000000000000000000000000000000Ff));
- }
- // forgefmt: disable-end
- }
-
- function assumeNotForgeAddress(address addr) internal pure virtual {
- // vm and console addresses
- vm.assume(addr != address(vm) || addr != 0x000000000000000000636F6e736F6c652e6c6f67);
- }
-
- function readEIP1559ScriptArtifact(string memory path)
- internal
- view
- virtual
- returns (EIP1559ScriptArtifact memory)
- {
- string memory data = vm.readFile(path);
- bytes memory parsedData = vm.parseJson(data);
- RawEIP1559ScriptArtifact memory rawArtifact = abi.decode(parsedData, (RawEIP1559ScriptArtifact));
- EIP1559ScriptArtifact memory artifact;
- artifact.libraries = rawArtifact.libraries;
- artifact.path = rawArtifact.path;
- artifact.timestamp = rawArtifact.timestamp;
- artifact.pending = rawArtifact.pending;
- artifact.txReturns = rawArtifact.txReturns;
- artifact.receipts = rawToConvertedReceipts(rawArtifact.receipts);
- artifact.transactions = rawToConvertedEIPTx1559s(rawArtifact.transactions);
- return artifact;
- }
-
- function rawToConvertedEIPTx1559s(RawTx1559[] memory rawTxs) internal pure virtual returns (Tx1559[] memory) {
- Tx1559[] memory txs = new Tx1559[](rawTxs.length);
- for (uint256 i; i < rawTxs.length; i++) {
- txs[i] = rawToConvertedEIPTx1559(rawTxs[i]);
- }
- return txs;
- }
-
- function rawToConvertedEIPTx1559(RawTx1559 memory rawTx) internal pure virtual returns (Tx1559 memory) {
- Tx1559 memory transaction;
- transaction.arguments = rawTx.arguments;
- transaction.contractName = rawTx.contractName;
- transaction.functionSig = rawTx.functionSig;
- transaction.hash = rawTx.hash;
- transaction.txDetail = rawToConvertedEIP1559Detail(rawTx.txDetail);
- transaction.opcode = rawTx.opcode;
- return transaction;
- }
-
- function rawToConvertedEIP1559Detail(RawTx1559Detail memory rawDetail)
- internal
- pure
- virtual
- returns (Tx1559Detail memory)
- {
- Tx1559Detail memory txDetail;
- txDetail.data = rawDetail.data;
- txDetail.from = rawDetail.from;
- txDetail.to = rawDetail.to;
- txDetail.nonce = _bytesToUint(rawDetail.nonce);
- txDetail.txType = _bytesToUint(rawDetail.txType);
- txDetail.value = _bytesToUint(rawDetail.value);
- txDetail.gas = _bytesToUint(rawDetail.gas);
- txDetail.accessList = rawDetail.accessList;
- return txDetail;
- }
-
- function readTx1559s(string memory path) internal view virtual returns (Tx1559[] memory) {
- string memory deployData = vm.readFile(path);
- bytes memory parsedDeployData = vm.parseJson(deployData, ".transactions");
- RawTx1559[] memory rawTxs = abi.decode(parsedDeployData, (RawTx1559[]));
- return rawToConvertedEIPTx1559s(rawTxs);
- }
-
- function readTx1559(string memory path, uint256 index) internal view virtual returns (Tx1559 memory) {
- string memory deployData = vm.readFile(path);
- string memory key = string(abi.encodePacked(".transactions[", vm.toString(index), "]"));
- bytes memory parsedDeployData = vm.parseJson(deployData, key);
- RawTx1559 memory rawTx = abi.decode(parsedDeployData, (RawTx1559));
- return rawToConvertedEIPTx1559(rawTx);
- }
-
- // Analogous to readTransactions, but for receipts.
- function readReceipts(string memory path) internal view virtual returns (Receipt[] memory) {
- string memory deployData = vm.readFile(path);
- bytes memory parsedDeployData = vm.parseJson(deployData, ".receipts");
- RawReceipt[] memory rawReceipts = abi.decode(parsedDeployData, (RawReceipt[]));
- return rawToConvertedReceipts(rawReceipts);
- }
-
- function readReceipt(string memory path, uint256 index) internal view virtual returns (Receipt memory) {
- string memory deployData = vm.readFile(path);
- string memory key = string(abi.encodePacked(".receipts[", vm.toString(index), "]"));
- bytes memory parsedDeployData = vm.parseJson(deployData, key);
- RawReceipt memory rawReceipt = abi.decode(parsedDeployData, (RawReceipt));
- return rawToConvertedReceipt(rawReceipt);
- }
-
- function rawToConvertedReceipts(RawReceipt[] memory rawReceipts) internal pure virtual returns (Receipt[] memory) {
- Receipt[] memory receipts = new Receipt[](rawReceipts.length);
- for (uint256 i; i < rawReceipts.length; i++) {
- receipts[i] = rawToConvertedReceipt(rawReceipts[i]);
- }
- return receipts;
- }
-
- function rawToConvertedReceipt(RawReceipt memory rawReceipt) internal pure virtual returns (Receipt memory) {
- Receipt memory receipt;
- receipt.blockHash = rawReceipt.blockHash;
- receipt.to = rawReceipt.to;
- receipt.from = rawReceipt.from;
- receipt.contractAddress = rawReceipt.contractAddress;
- receipt.effectiveGasPrice = _bytesToUint(rawReceipt.effectiveGasPrice);
- receipt.cumulativeGasUsed = _bytesToUint(rawReceipt.cumulativeGasUsed);
- receipt.gasUsed = _bytesToUint(rawReceipt.gasUsed);
- receipt.status = _bytesToUint(rawReceipt.status);
- receipt.transactionIndex = _bytesToUint(rawReceipt.transactionIndex);
- receipt.blockNumber = _bytesToUint(rawReceipt.blockNumber);
- receipt.logs = rawToConvertedReceiptLogs(rawReceipt.logs);
- receipt.logsBloom = rawReceipt.logsBloom;
- receipt.transactionHash = rawReceipt.transactionHash;
- return receipt;
- }
-
- function rawToConvertedReceiptLogs(RawReceiptLog[] memory rawLogs)
- internal
- pure
- virtual
- returns (ReceiptLog[] memory)
- {
- ReceiptLog[] memory logs = new ReceiptLog[](rawLogs.length);
- for (uint256 i; i < rawLogs.length; i++) {
- logs[i].logAddress = rawLogs[i].logAddress;
- logs[i].blockHash = rawLogs[i].blockHash;
- logs[i].blockNumber = _bytesToUint(rawLogs[i].blockNumber);
- logs[i].data = rawLogs[i].data;
- logs[i].logIndex = _bytesToUint(rawLogs[i].logIndex);
- logs[i].topics = rawLogs[i].topics;
- logs[i].transactionIndex = _bytesToUint(rawLogs[i].transactionIndex);
- logs[i].transactionLogIndex = _bytesToUint(rawLogs[i].transactionLogIndex);
- logs[i].removed = rawLogs[i].removed;
- }
- return logs;
- }
-
- // Deploy a contract by fetching the contract bytecode from
- // the artifacts directory
- // e.g. `deployCode(code, abi.encode(arg1,arg2,arg3))`
- function deployCode(string memory what, bytes memory args) internal virtual returns (address addr) {
- bytes memory bytecode = abi.encodePacked(vm.getCode(what), args);
- /// @solidity memory-safe-assembly
- assembly {
- addr := create(0, add(bytecode, 0x20), mload(bytecode))
- }
-
- require(addr != address(0), "StdCheats deployCode(string,bytes): Deployment failed.");
- }
-
- function deployCode(string memory what) internal virtual returns (address addr) {
- bytes memory bytecode = vm.getCode(what);
- /// @solidity memory-safe-assembly
- assembly {
- addr := create(0, add(bytecode, 0x20), mload(bytecode))
- }
-
- require(addr != address(0), "StdCheats deployCode(string): Deployment failed.");
- }
-
- /// @dev deploy contract with value on construction
- function deployCode(string memory what, bytes memory args, uint256 val) internal virtual returns (address addr) {
- bytes memory bytecode = abi.encodePacked(vm.getCode(what), args);
- /// @solidity memory-safe-assembly
- assembly {
- addr := create(val, add(bytecode, 0x20), mload(bytecode))
- }
-
- require(addr != address(0), "StdCheats deployCode(string,bytes,uint256): Deployment failed.");
- }
-
- function deployCode(string memory what, uint256 val) internal virtual returns (address addr) {
- bytes memory bytecode = vm.getCode(what);
- /// @solidity memory-safe-assembly
- assembly {
- addr := create(val, add(bytecode, 0x20), mload(bytecode))
- }
-
- require(addr != address(0), "StdCheats deployCode(string,uint256): Deployment failed.");
- }
-
- // creates a labeled address and the corresponding private key
- function makeAddrAndKey(string memory name) internal virtual returns (address addr, uint256 privateKey) {
- privateKey = uint256(keccak256(abi.encodePacked(name)));
- addr = vm.addr(privateKey);
- vm.label(addr, name);
- }
-
- // creates a labeled address
- function makeAddr(string memory name) internal virtual returns (address addr) {
- (addr,) = makeAddrAndKey(name);
- }
-
- // Destroys an account immediately, sending the balance to beneficiary.
- // Destroying means: balance will be zero, code will be empty, and nonce will be 0
- // This is similar to selfdestruct but not identical: selfdestruct destroys code and nonce
- // only after tx ends, this will run immediately.
- function destroyAccount(address who, address beneficiary) internal virtual {
- uint256 currBalance = who.balance;
- vm.etch(who, abi.encode());
- vm.deal(who, 0);
- vm.resetNonce(who);
-
- uint256 beneficiaryBalance = beneficiary.balance;
- vm.deal(beneficiary, currBalance + beneficiaryBalance);
- }
-
- // creates a struct containing both a labeled address and the corresponding private key
- function makeAccount(string memory name) internal virtual returns (Account memory account) {
- (account.addr, account.key) = makeAddrAndKey(name);
- }
-
- function deriveRememberKey(string memory mnemonic, uint32 index)
- internal
- virtual
- returns (address who, uint256 privateKey)
- {
- privateKey = vm.deriveKey(mnemonic, index);
- who = vm.rememberKey(privateKey);
- }
-
- function _bytesToUint(bytes memory b) private pure returns (uint256) {
- require(b.length <= 32, "StdCheats _bytesToUint(bytes): Bytes length exceeds 32.");
- return abi.decode(abi.encodePacked(new bytes(32 - b.length), b), (uint256));
- }
-
- function isFork() internal view virtual returns (bool status) {
- try vm.activeFork() {
- status = true;
- } catch (bytes memory) {}
- }
-
- modifier skipWhenForking() {
- if (!isFork()) {
- _;
- }
- }
-
- modifier skipWhenNotForking() {
- if (isFork()) {
- _;
- }
- }
-
- modifier noGasMetering() {
- vm.pauseGasMetering();
- // To prevent turning gas monitoring back on with nested functions that use this modifier,
- // we check if gasMetering started in the off position. If it did, we don't want to turn
- // it back on until we exit the top level function that used the modifier
- //
- // i.e. funcA() noGasMetering { funcB() }, where funcB has noGasMetering as well.
- // funcA will have `gasStartedOff` as false, funcB will have it as true,
- // so we only turn metering back on at the end of the funcA
- bool gasStartedOff = gasMeteringOff;
- gasMeteringOff = true;
-
- _;
-
- // if gas metering was on when this modifier was called, turn it back on at the end
- if (!gasStartedOff) {
- gasMeteringOff = false;
- vm.resumeGasMetering();
- }
- }
-
- // We use this complex approach of `_viewChainId` and `_pureChainId` to ensure there are no
- // compiler warnings when accessing chain ID in any solidity version supported by forge-std. We
- // can't simply access the chain ID in a normal view or pure function because the solc View Pure
- // Checker changed `chainid` from pure to view in 0.8.0.
- function _viewChainId() private view returns (uint256 chainId) {
- // Assembly required since `block.chainid` was introduced in 0.8.0.
- assembly {
- chainId := chainid()
- }
-
- address(this); // Silence warnings in older Solc versions.
- }
-
- function _pureChainId() private pure returns (uint256 chainId) {
- function() internal view returns (uint256) fnIn = _viewChainId;
- function() internal pure returns (uint256) pureChainId;
- assembly {
- pureChainId := fnIn
- }
- chainId = pureChainId();
- }
-}
-
-// Wrappers around cheatcodes to avoid footguns
-abstract contract StdCheats is StdCheatsSafe {
- using stdStorage for StdStorage;
-
- StdStorage private stdstore;
- Vm private constant vm = Vm(address(uint160(uint256(keccak256("hevm cheat code")))));
-
- // Skip forward or rewind time by the specified number of seconds
- function skip(uint256 time) internal virtual {
- vm.warp(block.timestamp + time);
- }
-
- function rewind(uint256 time) internal virtual {
- vm.warp(block.timestamp - time);
- }
-
- // Setup a prank from an address that has some ether
- function hoax(address msgSender) internal virtual {
- vm.deal(msgSender, 1 << 128);
- vm.prank(msgSender);
- }
-
- function hoax(address msgSender, uint256 give) internal virtual {
- vm.deal(msgSender, give);
- vm.prank(msgSender);
- }
-
- function hoax(address msgSender, address origin) internal virtual {
- vm.deal(msgSender, 1 << 128);
- vm.prank(msgSender, origin);
- }
-
- function hoax(address msgSender, address origin, uint256 give) internal virtual {
- vm.deal(msgSender, give);
- vm.prank(msgSender, origin);
- }
-
- // Start perpetual prank from an address that has some ether
- function startHoax(address msgSender) internal virtual {
- vm.deal(msgSender, 1 << 128);
- vm.startPrank(msgSender);
- }
-
- function startHoax(address msgSender, uint256 give) internal virtual {
- vm.deal(msgSender, give);
- vm.startPrank(msgSender);
- }
-
- // Start perpetual prank from an address that has some ether
- // tx.origin is set to the origin parameter
- function startHoax(address msgSender, address origin) internal virtual {
- vm.deal(msgSender, 1 << 128);
- vm.startPrank(msgSender, origin);
- }
-
- function startHoax(address msgSender, address origin, uint256 give) internal virtual {
- vm.deal(msgSender, give);
- vm.startPrank(msgSender, origin);
- }
-
- function changePrank(address msgSender) internal virtual {
- vm.stopPrank();
- vm.startPrank(msgSender);
- }
-
- function changePrank(address msgSender, address txOrigin) internal virtual {
- vm.stopPrank();
- vm.startPrank(msgSender, txOrigin);
- }
-
- // The same as Vm's `deal`
- // Use the alternative signature for ERC20 tokens
- function deal(address to, uint256 give) internal virtual {
- vm.deal(to, give);
- }
-
- // Set the balance of an account for any ERC20 token
- // Use the alternative signature to update `totalSupply`
- function deal(address token, address to, uint256 give) internal virtual {
- deal(token, to, give, false);
- }
-
- // Set the balance of an account for any ERC1155 token
- // Use the alternative signature to update `totalSupply`
- function dealERC1155(address token, address to, uint256 id, uint256 give) internal virtual {
- dealERC1155(token, to, id, give, false);
- }
-
- function deal(address token, address to, uint256 give, bool adjust) internal virtual {
- // get current balance
- (, bytes memory balData) = token.staticcall(abi.encodeWithSelector(0x70a08231, to));
- uint256 prevBal = abi.decode(balData, (uint256));
-
- // update balance
- stdstore.target(token).sig(0x70a08231).with_key(to).checked_write(give);
-
- // update total supply
- if (adjust) {
- (, bytes memory totSupData) = token.staticcall(abi.encodeWithSelector(0x18160ddd));
- uint256 totSup = abi.decode(totSupData, (uint256));
- if (give < prevBal) {
- totSup -= (prevBal - give);
- } else {
- totSup += (give - prevBal);
- }
- stdstore.target(token).sig(0x18160ddd).checked_write(totSup);
- }
- }
-
- function dealERC1155(address token, address to, uint256 id, uint256 give, bool adjust) internal virtual {
- // get current balance
- (, bytes memory balData) = token.staticcall(abi.encodeWithSelector(0x00fdd58e, to, id));
- uint256 prevBal = abi.decode(balData, (uint256));
-
- // update balance
- stdstore.target(token).sig(0x00fdd58e).with_key(to).with_key(id).checked_write(give);
-
- // update total supply
- if (adjust) {
- (, bytes memory totSupData) = token.staticcall(abi.encodeWithSelector(0xbd85b039, id));
- require(
- totSupData.length != 0,
- "StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply."
- );
- uint256 totSup = abi.decode(totSupData, (uint256));
- if (give < prevBal) {
- totSup -= (prevBal - give);
- } else {
- totSup += (give - prevBal);
- }
- stdstore.target(token).sig(0xbd85b039).with_key(id).checked_write(totSup);
- }
- }
-
- function dealERC721(address token, address to, uint256 id) internal virtual {
- // check if token id is already minted and the actual owner.
- (bool successMinted, bytes memory ownerData) = token.staticcall(abi.encodeWithSelector(0x6352211e, id));
- require(successMinted, "StdCheats deal(address,address,uint,bool): id not minted.");
-
- // get owner current balance
- (, bytes memory fromBalData) =
- token.staticcall(abi.encodeWithSelector(0x70a08231, abi.decode(ownerData, (address))));
- uint256 fromPrevBal = abi.decode(fromBalData, (uint256));
-
- // get new user current balance
- (, bytes memory toBalData) = token.staticcall(abi.encodeWithSelector(0x70a08231, to));
- uint256 toPrevBal = abi.decode(toBalData, (uint256));
-
- // update balances
- stdstore.target(token).sig(0x70a08231).with_key(abi.decode(ownerData, (address))).checked_write(--fromPrevBal);
- stdstore.target(token).sig(0x70a08231).with_key(to).checked_write(++toPrevBal);
-
- // update owner
- stdstore.target(token).sig(0x6352211e).with_key(id).checked_write(to);
- }
-
- function deployCodeTo(string memory what, address where) internal virtual {
- deployCodeTo(what, "", 0, where);
- }
-
- function deployCodeTo(string memory what, bytes memory args, address where) internal virtual {
- deployCodeTo(what, args, 0, where);
- }
-
- function deployCodeTo(string memory what, bytes memory args, uint256 value, address where) internal virtual {
- bytes memory creationCode = vm.getCode(what);
- vm.etch(where, abi.encodePacked(creationCode, args));
- (bool success, bytes memory runtimeBytecode) = where.call{value: value}("");
- require(success, "StdCheats deployCodeTo(string,bytes,uint256,address): Failed to create runtime bytecode.");
- vm.etch(where, runtimeBytecode);
- }
-}
diff --git a/lib/forge-std/src/StdError.sol b/lib/forge-std/src/StdError.sol
deleted file mode 100644
index a302191..0000000
--- a/lib/forge-std/src/StdError.sol
+++ /dev/null
@@ -1,15 +0,0 @@
-// SPDX-License-Identifier: MIT
-// Panics work for versions >=0.8.0, but we lowered the pragma to make this compatible with Test
-pragma solidity >=0.6.2 <0.9.0;
-
-library stdError {
- bytes public constant assertionError = abi.encodeWithSignature("Panic(uint256)", 0x01);
- bytes public constant arithmeticError = abi.encodeWithSignature("Panic(uint256)", 0x11);
- bytes public constant divisionError = abi.encodeWithSignature("Panic(uint256)", 0x12);
- bytes public constant enumConversionError = abi.encodeWithSignature("Panic(uint256)", 0x21);
- bytes public constant encodeStorageError = abi.encodeWithSignature("Panic(uint256)", 0x22);
- bytes public constant popError = abi.encodeWithSignature("Panic(uint256)", 0x31);
- bytes public constant indexOOBError = abi.encodeWithSignature("Panic(uint256)", 0x32);
- bytes public constant memOverflowError = abi.encodeWithSignature("Panic(uint256)", 0x41);
- bytes public constant zeroVarError = abi.encodeWithSignature("Panic(uint256)", 0x51);
-}
diff --git a/lib/forge-std/src/StdInvariant.sol b/lib/forge-std/src/StdInvariant.sol
deleted file mode 100644
index fd9d0a1..0000000
--- a/lib/forge-std/src/StdInvariant.sol
+++ /dev/null
@@ -1,92 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2 <0.9.0;
-
-pragma experimental ABIEncoderV2;
-
-abstract contract StdInvariant {
- struct FuzzSelector {
- address addr;
- bytes4[] selectors;
- }
-
- address[] private _excludedContracts;
- address[] private _excludedSenders;
- address[] private _targetedContracts;
- address[] private _targetedSenders;
-
- string[] private _excludedArtifacts;
- string[] private _targetedArtifacts;
-
- FuzzSelector[] private _targetedArtifactSelectors;
- FuzzSelector[] private _targetedSelectors;
-
- // Functions for users:
- // These are intended to be called in tests.
-
- function excludeContract(address newExcludedContract_) internal {
- _excludedContracts.push(newExcludedContract_);
- }
-
- function excludeSender(address newExcludedSender_) internal {
- _excludedSenders.push(newExcludedSender_);
- }
-
- function excludeArtifact(string memory newExcludedArtifact_) internal {
- _excludedArtifacts.push(newExcludedArtifact_);
- }
-
- function targetArtifact(string memory newTargetedArtifact_) internal {
- _targetedArtifacts.push(newTargetedArtifact_);
- }
-
- function targetArtifactSelector(FuzzSelector memory newTargetedArtifactSelector_) internal {
- _targetedArtifactSelectors.push(newTargetedArtifactSelector_);
- }
-
- function targetContract(address newTargetedContract_) internal {
- _targetedContracts.push(newTargetedContract_);
- }
-
- function targetSelector(FuzzSelector memory newTargetedSelector_) internal {
- _targetedSelectors.push(newTargetedSelector_);
- }
-
- function targetSender(address newTargetedSender_) internal {
- _targetedSenders.push(newTargetedSender_);
- }
-
- // Functions for forge:
- // These are called by forge to run invariant tests and don't need to be called in tests.
-
- function excludeArtifacts() public view returns (string[] memory excludedArtifacts_) {
- excludedArtifacts_ = _excludedArtifacts;
- }
-
- function excludeContracts() public view returns (address[] memory excludedContracts_) {
- excludedContracts_ = _excludedContracts;
- }
-
- function excludeSenders() public view returns (address[] memory excludedSenders_) {
- excludedSenders_ = _excludedSenders;
- }
-
- function targetArtifacts() public view returns (string[] memory targetedArtifacts_) {
- targetedArtifacts_ = _targetedArtifacts;
- }
-
- function targetArtifactSelectors() public view returns (FuzzSelector[] memory targetedArtifactSelectors_) {
- targetedArtifactSelectors_ = _targetedArtifactSelectors;
- }
-
- function targetContracts() public view returns (address[] memory targetedContracts_) {
- targetedContracts_ = _targetedContracts;
- }
-
- function targetSelectors() public view returns (FuzzSelector[] memory targetedSelectors_) {
- targetedSelectors_ = _targetedSelectors;
- }
-
- function targetSenders() public view returns (address[] memory targetedSenders_) {
- targetedSenders_ = _targetedSenders;
- }
-}
diff --git a/lib/forge-std/src/StdJson.sol b/lib/forge-std/src/StdJson.sol
deleted file mode 100644
index 014e6b1..0000000
--- a/lib/forge-std/src/StdJson.sol
+++ /dev/null
@@ -1,179 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.0 <0.9.0;
-
-pragma experimental ABIEncoderV2;
-
-import {VmSafe} from "./Vm.sol";
-
-// Helpers for parsing and writing JSON files
-// To parse:
-// ```
-// using stdJson for string;
-// string memory json = vm.readFile("some_peth");
-// json.parseUint("");
-// ```
-// To write:
-// ```
-// using stdJson for string;
-// string memory json = "deploymentArtifact";
-// Contract contract = new Contract();
-// json.serialize("contractAddress", address(contract));
-// json = json.serialize("deploymentTimes", uint(1));
-// // store the stringified JSON to the 'json' variable we have been using as a key
-// // as we won't need it any longer
-// string memory json2 = "finalArtifact";
-// string memory final = json2.serialize("depArtifact", json);
-// final.write("");
-// ```
-
-library stdJson {
- VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256("hevm cheat code")))));
-
- function parseRaw(string memory json, string memory key) internal pure returns (bytes memory) {
- return vm.parseJson(json, key);
- }
-
- function readUint(string memory json, string memory key) internal returns (uint256) {
- return vm.parseJsonUint(json, key);
- }
-
- function readUintArray(string memory json, string memory key) internal returns (uint256[] memory) {
- return vm.parseJsonUintArray(json, key);
- }
-
- function readInt(string memory json, string memory key) internal returns (int256) {
- return vm.parseJsonInt(json, key);
- }
-
- function readIntArray(string memory json, string memory key) internal returns (int256[] memory) {
- return vm.parseJsonIntArray(json, key);
- }
-
- function readBytes32(string memory json, string memory key) internal returns (bytes32) {
- return vm.parseJsonBytes32(json, key);
- }
-
- function readBytes32Array(string memory json, string memory key) internal returns (bytes32[] memory) {
- return vm.parseJsonBytes32Array(json, key);
- }
-
- function readString(string memory json, string memory key) internal returns (string memory) {
- return vm.parseJsonString(json, key);
- }
-
- function readStringArray(string memory json, string memory key) internal returns (string[] memory) {
- return vm.parseJsonStringArray(json, key);
- }
-
- function readAddress(string memory json, string memory key) internal returns (address) {
- return vm.parseJsonAddress(json, key);
- }
-
- function readAddressArray(string memory json, string memory key) internal returns (address[] memory) {
- return vm.parseJsonAddressArray(json, key);
- }
-
- function readBool(string memory json, string memory key) internal returns (bool) {
- return vm.parseJsonBool(json, key);
- }
-
- function readBoolArray(string memory json, string memory key) internal returns (bool[] memory) {
- return vm.parseJsonBoolArray(json, key);
- }
-
- function readBytes(string memory json, string memory key) internal returns (bytes memory) {
- return vm.parseJsonBytes(json, key);
- }
-
- function readBytesArray(string memory json, string memory key) internal returns (bytes[] memory) {
- return vm.parseJsonBytesArray(json, key);
- }
-
- function serialize(string memory jsonKey, string memory key, bool value) internal returns (string memory) {
- return vm.serializeBool(jsonKey, key, value);
- }
-
- function serialize(string memory jsonKey, string memory key, bool[] memory value)
- internal
- returns (string memory)
- {
- return vm.serializeBool(jsonKey, key, value);
- }
-
- function serialize(string memory jsonKey, string memory key, uint256 value) internal returns (string memory) {
- return vm.serializeUint(jsonKey, key, value);
- }
-
- function serialize(string memory jsonKey, string memory key, uint256[] memory value)
- internal
- returns (string memory)
- {
- return vm.serializeUint(jsonKey, key, value);
- }
-
- function serialize(string memory jsonKey, string memory key, int256 value) internal returns (string memory) {
- return vm.serializeInt(jsonKey, key, value);
- }
-
- function serialize(string memory jsonKey, string memory key, int256[] memory value)
- internal
- returns (string memory)
- {
- return vm.serializeInt(jsonKey, key, value);
- }
-
- function serialize(string memory jsonKey, string memory key, address value) internal returns (string memory) {
- return vm.serializeAddress(jsonKey, key, value);
- }
-
- function serialize(string memory jsonKey, string memory key, address[] memory value)
- internal
- returns (string memory)
- {
- return vm.serializeAddress(jsonKey, key, value);
- }
-
- function serialize(string memory jsonKey, string memory key, bytes32 value) internal returns (string memory) {
- return vm.serializeBytes32(jsonKey, key, value);
- }
-
- function serialize(string memory jsonKey, string memory key, bytes32[] memory value)
- internal
- returns (string memory)
- {
- return vm.serializeBytes32(jsonKey, key, value);
- }
-
- function serialize(string memory jsonKey, string memory key, bytes memory value) internal returns (string memory) {
- return vm.serializeBytes(jsonKey, key, value);
- }
-
- function serialize(string memory jsonKey, string memory key, bytes[] memory value)
- internal
- returns (string memory)
- {
- return vm.serializeBytes(jsonKey, key, value);
- }
-
- function serialize(string memory jsonKey, string memory key, string memory value)
- internal
- returns (string memory)
- {
- return vm.serializeString(jsonKey, key, value);
- }
-
- function serialize(string memory jsonKey, string memory key, string[] memory value)
- internal
- returns (string memory)
- {
- return vm.serializeString(jsonKey, key, value);
- }
-
- function write(string memory jsonKey, string memory path) internal {
- vm.writeJson(jsonKey, path);
- }
-
- function write(string memory jsonKey, string memory path, string memory valueKey) internal {
- vm.writeJson(jsonKey, path, valueKey);
- }
-}
diff --git a/lib/forge-std/src/StdMath.sol b/lib/forge-std/src/StdMath.sol
deleted file mode 100644
index 459523b..0000000
--- a/lib/forge-std/src/StdMath.sol
+++ /dev/null
@@ -1,43 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2 <0.9.0;
-
-library stdMath {
- int256 private constant INT256_MIN = -57896044618658097711785492504343953926634992332820282019728792003956564819968;
-
- function abs(int256 a) internal pure returns (uint256) {
- // Required or it will fail when `a = type(int256).min`
- if (a == INT256_MIN) {
- return 57896044618658097711785492504343953926634992332820282019728792003956564819968;
- }
-
- return uint256(a > 0 ? a : -a);
- }
-
- function delta(uint256 a, uint256 b) internal pure returns (uint256) {
- return a > b ? a - b : b - a;
- }
-
- function delta(int256 a, int256 b) internal pure returns (uint256) {
- // a and b are of the same sign
- // this works thanks to two's complement, the left-most bit is the sign bit
- if ((a ^ b) > -1) {
- return delta(abs(a), abs(b));
- }
-
- // a and b are of opposite signs
- return abs(a) + abs(b);
- }
-
- function percentDelta(uint256 a, uint256 b) internal pure returns (uint256) {
- uint256 absDelta = delta(a, b);
-
- return absDelta * 1e18 / b;
- }
-
- function percentDelta(int256 a, int256 b) internal pure returns (uint256) {
- uint256 absDelta = delta(a, b);
- uint256 absB = abs(b);
-
- return absDelta * 1e18 / absB;
- }
-}
diff --git a/lib/forge-std/src/StdStorage.sol b/lib/forge-std/src/StdStorage.sol
deleted file mode 100644
index 708db32..0000000
--- a/lib/forge-std/src/StdStorage.sol
+++ /dev/null
@@ -1,331 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2 <0.9.0;
-
-import {Vm} from "./Vm.sol";
-
-struct StdStorage {
- mapping(address => mapping(bytes4 => mapping(bytes32 => uint256))) slots;
- mapping(address => mapping(bytes4 => mapping(bytes32 => bool))) finds;
- bytes32[] _keys;
- bytes4 _sig;
- uint256 _depth;
- address _target;
- bytes32 _set;
-}
-
-library stdStorageSafe {
- event SlotFound(address who, bytes4 fsig, bytes32 keysHash, uint256 slot);
- event WARNING_UninitedSlot(address who, uint256 slot);
-
- Vm private constant vm = Vm(address(uint160(uint256(keccak256("hevm cheat code")))));
-
- function sigs(string memory sigStr) internal pure returns (bytes4) {
- return bytes4(keccak256(bytes(sigStr)));
- }
-
- /// @notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against
- // slot complexity:
- // if flat, will be bytes32(uint256(uint));
- // if map, will be keccak256(abi.encode(key, uint(slot)));
- // if deep map, will be keccak256(abi.encode(key1, keccak256(abi.encode(key0, uint(slot)))));
- // if map struct, will be bytes32(uint256(keccak256(abi.encode(key1, keccak256(abi.encode(key0, uint(slot)))))) + structFieldDepth);
- function find(StdStorage storage self) internal returns (uint256) {
- address who = self._target;
- bytes4 fsig = self._sig;
- uint256 field_depth = self._depth;
- bytes32[] memory ins = self._keys;
-
- // calldata to test against
- if (self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))]) {
- return self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))];
- }
- bytes memory cald = abi.encodePacked(fsig, flatten(ins));
- vm.record();
- bytes32 fdat;
- {
- (, bytes memory rdat) = who.staticcall(cald);
- fdat = bytesToBytes32(rdat, 32 * field_depth);
- }
-
- (bytes32[] memory reads,) = vm.accesses(address(who));
- if (reads.length == 1) {
- bytes32 curr = vm.load(who, reads[0]);
- if (curr == bytes32(0)) {
- emit WARNING_UninitedSlot(who, uint256(reads[0]));
- }
- if (fdat != curr) {
- require(
- false,
- "stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported."
- );
- }
- emit SlotFound(who, fsig, keccak256(abi.encodePacked(ins, field_depth)), uint256(reads[0]));
- self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))] = uint256(reads[0]);
- self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))] = true;
- } else if (reads.length > 1) {
- for (uint256 i = 0; i < reads.length; i++) {
- bytes32 prev = vm.load(who, reads[i]);
- if (prev == bytes32(0)) {
- emit WARNING_UninitedSlot(who, uint256(reads[i]));
- }
- // store
- vm.store(who, reads[i], bytes32(hex"1337"));
- bool success;
- bytes memory rdat;
- {
- (success, rdat) = who.staticcall(cald);
- fdat = bytesToBytes32(rdat, 32 * field_depth);
- }
-
- if (success && fdat == bytes32(hex"1337")) {
- // we found which of the slots is the actual one
- emit SlotFound(who, fsig, keccak256(abi.encodePacked(ins, field_depth)), uint256(reads[i]));
- self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))] = uint256(reads[i]);
- self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))] = true;
- vm.store(who, reads[i], prev);
- break;
- }
- vm.store(who, reads[i], prev);
- }
- } else {
- revert("stdStorage find(StdStorage): No storage use detected for target.");
- }
-
- require(
- self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))],
- "stdStorage find(StdStorage): Slot(s) not found."
- );
-
- delete self._target;
- delete self._sig;
- delete self._keys;
- delete self._depth;
-
- return self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))];
- }
-
- function target(StdStorage storage self, address _target) internal returns (StdStorage storage) {
- self._target = _target;
- return self;
- }
-
- function sig(StdStorage storage self, bytes4 _sig) internal returns (StdStorage storage) {
- self._sig = _sig;
- return self;
- }
-
- function sig(StdStorage storage self, string memory _sig) internal returns (StdStorage storage) {
- self._sig = sigs(_sig);
- return self;
- }
-
- function with_key(StdStorage storage self, address who) internal returns (StdStorage storage) {
- self._keys.push(bytes32(uint256(uint160(who))));
- return self;
- }
-
- function with_key(StdStorage storage self, uint256 amt) internal returns (StdStorage storage) {
- self._keys.push(bytes32(amt));
- return self;
- }
-
- function with_key(StdStorage storage self, bytes32 key) internal returns (StdStorage storage) {
- self._keys.push(key);
- return self;
- }
-
- function depth(StdStorage storage self, uint256 _depth) internal returns (StdStorage storage) {
- self._depth = _depth;
- return self;
- }
-
- function read(StdStorage storage self) private returns (bytes memory) {
- address t = self._target;
- uint256 s = find(self);
- return abi.encode(vm.load(t, bytes32(s)));
- }
-
- function read_bytes32(StdStorage storage self) internal returns (bytes32) {
- return abi.decode(read(self), (bytes32));
- }
-
- function read_bool(StdStorage storage self) internal returns (bool) {
- int256 v = read_int(self);
- if (v == 0) return false;
- if (v == 1) return true;
- revert("stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.");
- }
-
- function read_address(StdStorage storage self) internal returns (address) {
- return abi.decode(read(self), (address));
- }
-
- function read_uint(StdStorage storage self) internal returns (uint256) {
- return abi.decode(read(self), (uint256));
- }
-
- function read_int(StdStorage storage self) internal returns (int256) {
- return abi.decode(read(self), (int256));
- }
-
- function bytesToBytes32(bytes memory b, uint256 offset) private pure returns (bytes32) {
- bytes32 out;
-
- uint256 max = b.length > 32 ? 32 : b.length;
- for (uint256 i = 0; i < max; i++) {
- out |= bytes32(b[offset + i] & 0xFF) >> (i * 8);
- }
- return out;
- }
-
- function flatten(bytes32[] memory b) private pure returns (bytes memory) {
- bytes memory result = new bytes(b.length * 32);
- for (uint256 i = 0; i < b.length; i++) {
- bytes32 k = b[i];
- /// @solidity memory-safe-assembly
- assembly {
- mstore(add(result, add(32, mul(32, i))), k)
- }
- }
-
- return result;
- }
-}
-
-library stdStorage {
- Vm private constant vm = Vm(address(uint160(uint256(keccak256("hevm cheat code")))));
-
- function sigs(string memory sigStr) internal pure returns (bytes4) {
- return stdStorageSafe.sigs(sigStr);
- }
-
- function find(StdStorage storage self) internal returns (uint256) {
- return stdStorageSafe.find(self);
- }
-
- function target(StdStorage storage self, address _target) internal returns (StdStorage storage) {
- return stdStorageSafe.target(self, _target);
- }
-
- function sig(StdStorage storage self, bytes4 _sig) internal returns (StdStorage storage) {
- return stdStorageSafe.sig(self, _sig);
- }
-
- function sig(StdStorage storage self, string memory _sig) internal returns (StdStorage storage) {
- return stdStorageSafe.sig(self, _sig);
- }
-
- function with_key(StdStorage storage self, address who) internal returns (StdStorage storage) {
- return stdStorageSafe.with_key(self, who);
- }
-
- function with_key(StdStorage storage self, uint256 amt) internal returns (StdStorage storage) {
- return stdStorageSafe.with_key(self, amt);
- }
-
- function with_key(StdStorage storage self, bytes32 key) internal returns (StdStorage storage) {
- return stdStorageSafe.with_key(self, key);
- }
-
- function depth(StdStorage storage self, uint256 _depth) internal returns (StdStorage storage) {
- return stdStorageSafe.depth(self, _depth);
- }
-
- function checked_write(StdStorage storage self, address who) internal {
- checked_write(self, bytes32(uint256(uint160(who))));
- }
-
- function checked_write(StdStorage storage self, uint256 amt) internal {
- checked_write(self, bytes32(amt));
- }
-
- function checked_write_int(StdStorage storage self, int256 val) internal {
- checked_write(self, bytes32(uint256(val)));
- }
-
- function checked_write(StdStorage storage self, bool write) internal {
- bytes32 t;
- /// @solidity memory-safe-assembly
- assembly {
- t := write
- }
- checked_write(self, t);
- }
-
- function checked_write(StdStorage storage self, bytes32 set) internal {
- address who = self._target;
- bytes4 fsig = self._sig;
- uint256 field_depth = self._depth;
- bytes32[] memory ins = self._keys;
-
- bytes memory cald = abi.encodePacked(fsig, flatten(ins));
- if (!self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))]) {
- find(self);
- }
- bytes32 slot = bytes32(self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))]);
-
- bytes32 fdat;
- {
- (, bytes memory rdat) = who.staticcall(cald);
- fdat = bytesToBytes32(rdat, 32 * field_depth);
- }
- bytes32 curr = vm.load(who, slot);
-
- if (fdat != curr) {
- require(
- false,
- "stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported."
- );
- }
- vm.store(who, slot, set);
- delete self._target;
- delete self._sig;
- delete self._keys;
- delete self._depth;
- }
-
- function read_bytes32(StdStorage storage self) internal returns (bytes32) {
- return stdStorageSafe.read_bytes32(self);
- }
-
- function read_bool(StdStorage storage self) internal returns (bool) {
- return stdStorageSafe.read_bool(self);
- }
-
- function read_address(StdStorage storage self) internal returns (address) {
- return stdStorageSafe.read_address(self);
- }
-
- function read_uint(StdStorage storage self) internal returns (uint256) {
- return stdStorageSafe.read_uint(self);
- }
-
- function read_int(StdStorage storage self) internal returns (int256) {
- return stdStorageSafe.read_int(self);
- }
-
- // Private function so needs to be copied over
- function bytesToBytes32(bytes memory b, uint256 offset) private pure returns (bytes32) {
- bytes32 out;
-
- uint256 max = b.length > 32 ? 32 : b.length;
- for (uint256 i = 0; i < max; i++) {
- out |= bytes32(b[offset + i] & 0xFF) >> (i * 8);
- }
- return out;
- }
-
- // Private function so needs to be copied over
- function flatten(bytes32[] memory b) private pure returns (bytes memory) {
- bytes memory result = new bytes(b.length * 32);
- for (uint256 i = 0; i < b.length; i++) {
- bytes32 k = b[i];
- /// @solidity memory-safe-assembly
- assembly {
- mstore(add(result, add(32, mul(32, i))), k)
- }
- }
-
- return result;
- }
-}
diff --git a/lib/forge-std/src/StdStyle.sol b/lib/forge-std/src/StdStyle.sol
deleted file mode 100644
index d371e0c..0000000
--- a/lib/forge-std/src/StdStyle.sol
+++ /dev/null
@@ -1,333 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.4.22 <0.9.0;
-
-import {VmSafe} from "./Vm.sol";
-
-library StdStyle {
- VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256("hevm cheat code")))));
-
- string constant RED = "\u001b[91m";
- string constant GREEN = "\u001b[92m";
- string constant YELLOW = "\u001b[93m";
- string constant BLUE = "\u001b[94m";
- string constant MAGENTA = "\u001b[95m";
- string constant CYAN = "\u001b[96m";
- string constant BOLD = "\u001b[1m";
- string constant DIM = "\u001b[2m";
- string constant ITALIC = "\u001b[3m";
- string constant UNDERLINE = "\u001b[4m";
- string constant INVERSE = "\u001b[7m";
- string constant RESET = "\u001b[0m";
-
- function styleConcat(string memory style, string memory self) private pure returns (string memory) {
- return string(abi.encodePacked(style, self, RESET));
- }
-
- function red(string memory self) internal pure returns (string memory) {
- return styleConcat(RED, self);
- }
-
- function red(uint256 self) internal pure returns (string memory) {
- return red(vm.toString(self));
- }
-
- function red(int256 self) internal pure returns (string memory) {
- return red(vm.toString(self));
- }
-
- function red(address self) internal pure returns (string memory) {
- return red(vm.toString(self));
- }
-
- function red(bool self) internal pure returns (string memory) {
- return red(vm.toString(self));
- }
-
- function redBytes(bytes memory self) internal pure returns (string memory) {
- return red(vm.toString(self));
- }
-
- function redBytes32(bytes32 self) internal pure returns (string memory) {
- return red(vm.toString(self));
- }
-
- function green(string memory self) internal pure returns (string memory) {
- return styleConcat(GREEN, self);
- }
-
- function green(uint256 self) internal pure returns (string memory) {
- return green(vm.toString(self));
- }
-
- function green(int256 self) internal pure returns (string memory) {
- return green(vm.toString(self));
- }
-
- function green(address self) internal pure returns (string memory) {
- return green(vm.toString(self));
- }
-
- function green(bool self) internal pure returns (string memory) {
- return green(vm.toString(self));
- }
-
- function greenBytes(bytes memory self) internal pure returns (string memory) {
- return green(vm.toString(self));
- }
-
- function greenBytes32(bytes32 self) internal pure returns (string memory) {
- return green(vm.toString(self));
- }
-
- function yellow(string memory self) internal pure returns (string memory) {
- return styleConcat(YELLOW, self);
- }
-
- function yellow(uint256 self) internal pure returns (string memory) {
- return yellow(vm.toString(self));
- }
-
- function yellow(int256 self) internal pure returns (string memory) {
- return yellow(vm.toString(self));
- }
-
- function yellow(address self) internal pure returns (string memory) {
- return yellow(vm.toString(self));
- }
-
- function yellow(bool self) internal pure returns (string memory) {
- return yellow(vm.toString(self));
- }
-
- function yellowBytes(bytes memory self) internal pure returns (string memory) {
- return yellow(vm.toString(self));
- }
-
- function yellowBytes32(bytes32 self) internal pure returns (string memory) {
- return yellow(vm.toString(self));
- }
-
- function blue(string memory self) internal pure returns (string memory) {
- return styleConcat(BLUE, self);
- }
-
- function blue(uint256 self) internal pure returns (string memory) {
- return blue(vm.toString(self));
- }
-
- function blue(int256 self) internal pure returns (string memory) {
- return blue(vm.toString(self));
- }
-
- function blue(address self) internal pure returns (string memory) {
- return blue(vm.toString(self));
- }
-
- function blue(bool self) internal pure returns (string memory) {
- return blue(vm.toString(self));
- }
-
- function blueBytes(bytes memory self) internal pure returns (string memory) {
- return blue(vm.toString(self));
- }
-
- function blueBytes32(bytes32 self) internal pure returns (string memory) {
- return blue(vm.toString(self));
- }
-
- function magenta(string memory self) internal pure returns (string memory) {
- return styleConcat(MAGENTA, self);
- }
-
- function magenta(uint256 self) internal pure returns (string memory) {
- return magenta(vm.toString(self));
- }
-
- function magenta(int256 self) internal pure returns (string memory) {
- return magenta(vm.toString(self));
- }
-
- function magenta(address self) internal pure returns (string memory) {
- return magenta(vm.toString(self));
- }
-
- function magenta(bool self) internal pure returns (string memory) {
- return magenta(vm.toString(self));
- }
-
- function magentaBytes(bytes memory self) internal pure returns (string memory) {
- return magenta(vm.toString(self));
- }
-
- function magentaBytes32(bytes32 self) internal pure returns (string memory) {
- return magenta(vm.toString(self));
- }
-
- function cyan(string memory self) internal pure returns (string memory) {
- return styleConcat(CYAN, self);
- }
-
- function cyan(uint256 self) internal pure returns (string memory) {
- return cyan(vm.toString(self));
- }
-
- function cyan(int256 self) internal pure returns (string memory) {
- return cyan(vm.toString(self));
- }
-
- function cyan(address self) internal pure returns (string memory) {
- return cyan(vm.toString(self));
- }
-
- function cyan(bool self) internal pure returns (string memory) {
- return cyan(vm.toString(self));
- }
-
- function cyanBytes(bytes memory self) internal pure returns (string memory) {
- return cyan(vm.toString(self));
- }
-
- function cyanBytes32(bytes32 self) internal pure returns (string memory) {
- return cyan(vm.toString(self));
- }
-
- function bold(string memory self) internal pure returns (string memory) {
- return styleConcat(BOLD, self);
- }
-
- function bold(uint256 self) internal pure returns (string memory) {
- return bold(vm.toString(self));
- }
-
- function bold(int256 self) internal pure returns (string memory) {
- return bold(vm.toString(self));
- }
-
- function bold(address self) internal pure returns (string memory) {
- return bold(vm.toString(self));
- }
-
- function bold(bool self) internal pure returns (string memory) {
- return bold(vm.toString(self));
- }
-
- function boldBytes(bytes memory self) internal pure returns (string memory) {
- return bold(vm.toString(self));
- }
-
- function boldBytes32(bytes32 self) internal pure returns (string memory) {
- return bold(vm.toString(self));
- }
-
- function dim(string memory self) internal pure returns (string memory) {
- return styleConcat(DIM, self);
- }
-
- function dim(uint256 self) internal pure returns (string memory) {
- return dim(vm.toString(self));
- }
-
- function dim(int256 self) internal pure returns (string memory) {
- return dim(vm.toString(self));
- }
-
- function dim(address self) internal pure returns (string memory) {
- return dim(vm.toString(self));
- }
-
- function dim(bool self) internal pure returns (string memory) {
- return dim(vm.toString(self));
- }
-
- function dimBytes(bytes memory self) internal pure returns (string memory) {
- return dim(vm.toString(self));
- }
-
- function dimBytes32(bytes32 self) internal pure returns (string memory) {
- return dim(vm.toString(self));
- }
-
- function italic(string memory self) internal pure returns (string memory) {
- return styleConcat(ITALIC, self);
- }
-
- function italic(uint256 self) internal pure returns (string memory) {
- return italic(vm.toString(self));
- }
-
- function italic(int256 self) internal pure returns (string memory) {
- return italic(vm.toString(self));
- }
-
- function italic(address self) internal pure returns (string memory) {
- return italic(vm.toString(self));
- }
-
- function italic(bool self) internal pure returns (string memory) {
- return italic(vm.toString(self));
- }
-
- function italicBytes(bytes memory self) internal pure returns (string memory) {
- return italic(vm.toString(self));
- }
-
- function italicBytes32(bytes32 self) internal pure returns (string memory) {
- return italic(vm.toString(self));
- }
-
- function underline(string memory self) internal pure returns (string memory) {
- return styleConcat(UNDERLINE, self);
- }
-
- function underline(uint256 self) internal pure returns (string memory) {
- return underline(vm.toString(self));
- }
-
- function underline(int256 self) internal pure returns (string memory) {
- return underline(vm.toString(self));
- }
-
- function underline(address self) internal pure returns (string memory) {
- return underline(vm.toString(self));
- }
-
- function underline(bool self) internal pure returns (string memory) {
- return underline(vm.toString(self));
- }
-
- function underlineBytes(bytes memory self) internal pure returns (string memory) {
- return underline(vm.toString(self));
- }
-
- function underlineBytes32(bytes32 self) internal pure returns (string memory) {
- return underline(vm.toString(self));
- }
-
- function inverse(string memory self) internal pure returns (string memory) {
- return styleConcat(INVERSE, self);
- }
-
- function inverse(uint256 self) internal pure returns (string memory) {
- return inverse(vm.toString(self));
- }
-
- function inverse(int256 self) internal pure returns (string memory) {
- return inverse(vm.toString(self));
- }
-
- function inverse(address self) internal pure returns (string memory) {
- return inverse(vm.toString(self));
- }
-
- function inverse(bool self) internal pure returns (string memory) {
- return inverse(vm.toString(self));
- }
-
- function inverseBytes(bytes memory self) internal pure returns (string memory) {
- return inverse(vm.toString(self));
- }
-
- function inverseBytes32(bytes32 self) internal pure returns (string memory) {
- return inverse(vm.toString(self));
- }
-}
diff --git a/lib/forge-std/src/StdUtils.sol b/lib/forge-std/src/StdUtils.sol
deleted file mode 100644
index ad9566e..0000000
--- a/lib/forge-std/src/StdUtils.sol
+++ /dev/null
@@ -1,198 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2 <0.9.0;
-
-pragma experimental ABIEncoderV2;
-
-import {IMulticall3} from "./interfaces/IMulticall3.sol";
-import {VmSafe} from "./Vm.sol";
-
-abstract contract StdUtils {
- /*//////////////////////////////////////////////////////////////////////////
- CONSTANTS
- //////////////////////////////////////////////////////////////////////////*/
-
- IMulticall3 private constant multicall = IMulticall3(0xcA11bde05977b3631167028862bE2a173976CA11);
- VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256("hevm cheat code")))));
- address private constant CONSOLE2_ADDRESS = 0x000000000000000000636F6e736F6c652e6c6f67;
- uint256 private constant INT256_MIN_ABS =
- 57896044618658097711785492504343953926634992332820282019728792003956564819968;
- uint256 private constant SECP256K1_ORDER =
- 115792089237316195423570985008687907852837564279074904382605163141518161494337;
- uint256 private constant UINT256_MAX =
- 115792089237316195423570985008687907853269984665640564039457584007913129639935;
-
- // Used by default when deploying with create2, https://github.com/Arachnid/deterministic-deployment-proxy.
- address private constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C;
-
- /*//////////////////////////////////////////////////////////////////////////
- INTERNAL FUNCTIONS
- //////////////////////////////////////////////////////////////////////////*/
-
- function _bound(uint256 x, uint256 min, uint256 max) internal pure virtual returns (uint256 result) {
- require(min <= max, "StdUtils bound(uint256,uint256,uint256): Max is less than min.");
- // If x is between min and max, return x directly. This is to ensure that dictionary values
- // do not get shifted if the min is nonzero. More info: https://github.com/foundry-rs/forge-std/issues/188
- if (x >= min && x <= max) return x;
-
- uint256 size = max - min + 1;
-
- // If the value is 0, 1, 2, 3, wrap that to min, min+1, min+2, min+3. Similarly for the UINT256_MAX side.
- // This helps ensure coverage of the min/max values.
- if (x <= 3 && size > x) return min + x;
- if (x >= UINT256_MAX - 3 && size > UINT256_MAX - x) return max - (UINT256_MAX - x);
-
- // Otherwise, wrap x into the range [min, max], i.e. the range is inclusive.
- if (x > max) {
- uint256 diff = x - max;
- uint256 rem = diff % size;
- if (rem == 0) return max;
- result = min + rem - 1;
- } else if (x < min) {
- uint256 diff = min - x;
- uint256 rem = diff % size;
- if (rem == 0) return min;
- result = max - rem + 1;
- }
- }
-
- function bound(uint256 x, uint256 min, uint256 max) internal view virtual returns (uint256 result) {
- result = _bound(x, min, max);
- console2_log("Bound Result", result);
- }
-
- function _bound(int256 x, int256 min, int256 max) internal pure virtual returns (int256 result) {
- require(min <= max, "StdUtils bound(int256,int256,int256): Max is less than min.");
-
- // Shifting all int256 values to uint256 to use _bound function. The range of two types are:
- // int256 : -(2**255) ~ (2**255 - 1)
- // uint256: 0 ~ (2**256 - 1)
- // So, add 2**255, INT256_MIN_ABS to the integer values.
- //
- // If the given integer value is -2**255, we cannot use `-uint256(-x)` because of the overflow.
- // So, use `~uint256(x) + 1` instead.
- uint256 _x = x < 0 ? (INT256_MIN_ABS - ~uint256(x) - 1) : (uint256(x) + INT256_MIN_ABS);
- uint256 _min = min < 0 ? (INT256_MIN_ABS - ~uint256(min) - 1) : (uint256(min) + INT256_MIN_ABS);
- uint256 _max = max < 0 ? (INT256_MIN_ABS - ~uint256(max) - 1) : (uint256(max) + INT256_MIN_ABS);
-
- uint256 y = _bound(_x, _min, _max);
-
- // To move it back to int256 value, subtract INT256_MIN_ABS at here.
- result = y < INT256_MIN_ABS ? int256(~(INT256_MIN_ABS - y) + 1) : int256(y - INT256_MIN_ABS);
- }
-
- function bound(int256 x, int256 min, int256 max) internal view virtual returns (int256 result) {
- result = _bound(x, min, max);
- console2_log("Bound result", vm.toString(result));
- }
-
- function boundPrivateKey(uint256 privateKey) internal pure virtual returns (uint256 result) {
- result = _bound(privateKey, 1, SECP256K1_ORDER - 1);
- }
-
- function bytesToUint(bytes memory b) internal pure virtual returns (uint256) {
- require(b.length <= 32, "StdUtils bytesToUint(bytes): Bytes length exceeds 32.");
- return abi.decode(abi.encodePacked(new bytes(32 - b.length), b), (uint256));
- }
-
- /// @dev Compute the address a contract will be deployed at for a given deployer address and nonce
- /// @notice adapted from Solmate implementation (https://github.com/Rari-Capital/solmate/blob/main/src/utils/LibRLP.sol)
- function computeCreateAddress(address deployer, uint256 nonce) internal pure virtual returns (address) {
- // forgefmt: disable-start
- // The integer zero is treated as an empty byte string, and as a result it only has a length prefix, 0x80, computed via 0x80 + 0.
- // A one byte integer uses its own value as its length prefix, there is no additional "0x80 + length" prefix that comes before it.
- if (nonce == 0x00) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd6), bytes1(0x94), deployer, bytes1(0x80))));
- if (nonce <= 0x7f) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd6), bytes1(0x94), deployer, uint8(nonce))));
-
- // Nonces greater than 1 byte all follow a consistent encoding scheme, where each value is preceded by a prefix of 0x80 + length.
- if (nonce <= 2**8 - 1) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd7), bytes1(0x94), deployer, bytes1(0x81), uint8(nonce))));
- if (nonce <= 2**16 - 1) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd8), bytes1(0x94), deployer, bytes1(0x82), uint16(nonce))));
- if (nonce <= 2**24 - 1) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd9), bytes1(0x94), deployer, bytes1(0x83), uint24(nonce))));
- // forgefmt: disable-end
-
- // More details about RLP encoding can be found here: https://eth.wiki/fundamentals/rlp
- // 0xda = 0xc0 (short RLP prefix) + 0x16 (length of: 0x94 ++ proxy ++ 0x84 ++ nonce)
- // 0x94 = 0x80 + 0x14 (0x14 = the length of an address, 20 bytes, in hex)
- // 0x84 = 0x80 + 0x04 (0x04 = the bytes length of the nonce, 4 bytes, in hex)
- // We assume nobody can have a nonce large enough to require more than 32 bytes.
- return addressFromLast20Bytes(
- keccak256(abi.encodePacked(bytes1(0xda), bytes1(0x94), deployer, bytes1(0x84), uint32(nonce)))
- );
- }
-
- function computeCreate2Address(bytes32 salt, bytes32 initcodeHash, address deployer)
- internal
- pure
- virtual
- returns (address)
- {
- return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xff), deployer, salt, initcodeHash)));
- }
-
- /// @dev returns the address of a contract created with CREATE2 using the default CREATE2 deployer
- function computeCreate2Address(bytes32 salt, bytes32 initCodeHash) internal pure returns (address) {
- return computeCreate2Address(salt, initCodeHash, CREATE2_FACTORY);
- }
-
- /// @dev returns the hash of the init code (creation code + no args) used in CREATE2 with no constructor arguments
- /// @param creationCode the creation code of a contract C, as returned by type(C).creationCode
- function hashInitCode(bytes memory creationCode) internal pure returns (bytes32) {
- return hashInitCode(creationCode, "");
- }
-
- /// @dev returns the hash of the init code (creation code + ABI-encoded args) used in CREATE2
- /// @param creationCode the creation code of a contract C, as returned by type(C).creationCode
- /// @param args the ABI-encoded arguments to the constructor of C
- function hashInitCode(bytes memory creationCode, bytes memory args) internal pure returns (bytes32) {
- return keccak256(abi.encodePacked(creationCode, args));
- }
-
- // Performs a single call with Multicall3 to query the ERC-20 token balances of the given addresses.
- function getTokenBalances(address token, address[] memory addresses)
- internal
- virtual
- returns (uint256[] memory balances)
- {
- uint256 tokenCodeSize;
- assembly {
- tokenCodeSize := extcodesize(token)
- }
- require(tokenCodeSize > 0, "StdUtils getTokenBalances(address,address[]): Token address is not a contract.");
-
- // ABI encode the aggregate call to Multicall3.
- uint256 length = addresses.length;
- IMulticall3.Call[] memory calls = new IMulticall3.Call[](length);
- for (uint256 i = 0; i < length; ++i) {
- // 0x70a08231 = bytes4("balanceOf(address)"))
- calls[i] = IMulticall3.Call({target: token, callData: abi.encodeWithSelector(0x70a08231, (addresses[i]))});
- }
-
- // Make the aggregate call.
- (, bytes[] memory returnData) = multicall.aggregate(calls);
-
- // ABI decode the return data and return the balances.
- balances = new uint256[](length);
- for (uint256 i = 0; i < length; ++i) {
- balances[i] = abi.decode(returnData[i], (uint256));
- }
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- PRIVATE FUNCTIONS
- //////////////////////////////////////////////////////////////////////////*/
-
- function addressFromLast20Bytes(bytes32 bytesValue) private pure returns (address) {
- return address(uint160(uint256(bytesValue)));
- }
-
- // Used to prevent the compilation of console, which shortens the compilation time when console is not used elsewhere.
-
- function console2_log(string memory p0, uint256 p1) private view {
- (bool status,) = address(CONSOLE2_ADDRESS).staticcall(abi.encodeWithSignature("log(string,uint256)", p0, p1));
- status;
- }
-
- function console2_log(string memory p0, string memory p1) private view {
- (bool status,) = address(CONSOLE2_ADDRESS).staticcall(abi.encodeWithSignature("log(string,string)", p0, p1));
- status;
- }
-}
diff --git a/lib/forge-std/src/Test.sol b/lib/forge-std/src/Test.sol
deleted file mode 100644
index 40c0064..0000000
--- a/lib/forge-std/src/Test.sol
+++ /dev/null
@@ -1,34 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2 <0.9.0;
-
-pragma experimental ABIEncoderV2;
-
-// 💬 ABOUT
-// Forge Std's default Test.
-
-// 🧩 MODULES
-import {console} from "./console.sol";
-import {console2} from "./console2.sol";
-import {safeconsole} from "./safeconsole.sol";
-import {StdAssertions} from "./StdAssertions.sol";
-import {StdChains} from "./StdChains.sol";
-import {StdCheats} from "./StdCheats.sol";
-import {stdError} from "./StdError.sol";
-import {StdInvariant} from "./StdInvariant.sol";
-import {stdJson} from "./StdJson.sol";
-import {stdMath} from "./StdMath.sol";
-import {StdStorage, stdStorage} from "./StdStorage.sol";
-import {StdStyle} from "./StdStyle.sol";
-import {StdUtils} from "./StdUtils.sol";
-import {Vm} from "./Vm.sol";
-
-// 📦 BOILERPLATE
-import {TestBase} from "./Base.sol";
-import {DSTest} from "ds-test/test.sol";
-
-// ⭐️ TEST
-// Note: DSTest and any contracts that inherit it must be inherited first, https://github.com/foundry-rs/forge-std/pull/241
-abstract contract Test is DSTest, StdAssertions, StdChains, StdCheats, StdInvariant, StdUtils, TestBase {
-// Note: IS_TEST() must return true.
-// Note: Must have failure system, https://github.com/dapphub/ds-test/blob/cd98eff28324bfac652e63a239a60632a761790b/src/test.sol#L39-L76.
-}
diff --git a/lib/forge-std/src/Vm.sol b/lib/forge-std/src/Vm.sol
deleted file mode 100644
index a31db14..0000000
--- a/lib/forge-std/src/Vm.sol
+++ /dev/null
@@ -1,514 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2 <0.9.0;
-
-pragma experimental ABIEncoderV2;
-
-// Cheatcodes are marked as view/pure/none using the following rules:
-// 0. A call's observable behaviour includes its return value, logs, reverts and state writes,
-// 1. If you can influence a later call's observable behaviour, you're neither `view` nor `pure (you are modifying some state be it the EVM, interpreter, filesystem, etc),
-// 2. Otherwise if you can be influenced by an earlier call, or if reading some state, you're `view`,
-// 3. Otherwise you're `pure`.
-
-interface VmSafe {
- enum CallerMode {
- None,
- Broadcast,
- RecurrentBroadcast,
- Prank,
- RecurrentPrank
- }
-
- struct Log {
- bytes32[] topics;
- bytes data;
- address emitter;
- }
-
- struct Rpc {
- string key;
- string url;
- }
-
- struct DirEntry {
- string errorMessage;
- string path;
- uint64 depth;
- bool isDir;
- bool isSymlink;
- }
-
- struct FsMetadata {
- bool isDir;
- bool isSymlink;
- uint256 length;
- bool readOnly;
- uint256 modified;
- uint256 accessed;
- uint256 created;
- }
-
- // Loads a storage slot from an address
- function load(address target, bytes32 slot) external view returns (bytes32 data);
- // Signs data
- function sign(uint256 privateKey, bytes32 digest) external pure returns (uint8 v, bytes32 r, bytes32 s);
- // Gets the address for a given private key
- function addr(uint256 privateKey) external pure returns (address keyAddr);
- // Gets the nonce of an account
- function getNonce(address account) external view returns (uint64 nonce);
- // Performs a foreign function call via the terminal
- function ffi(string[] calldata commandInput) external returns (bytes memory result);
- // Sets environment variables
- function setEnv(string calldata name, string calldata value) external;
- // Reads environment variables, (name) => (value)
- function envBool(string calldata name) external view returns (bool value);
- function envUint(string calldata name) external view returns (uint256 value);
- function envInt(string calldata name) external view returns (int256 value);
- function envAddress(string calldata name) external view returns (address value);
- function envBytes32(string calldata name) external view returns (bytes32 value);
- function envString(string calldata name) external view returns (string memory value);
- function envBytes(string calldata name) external view returns (bytes memory value);
- // Reads environment variables as arrays
- function envBool(string calldata name, string calldata delim) external view returns (bool[] memory value);
- function envUint(string calldata name, string calldata delim) external view returns (uint256[] memory value);
- function envInt(string calldata name, string calldata delim) external view returns (int256[] memory value);
- function envAddress(string calldata name, string calldata delim) external view returns (address[] memory value);
- function envBytes32(string calldata name, string calldata delim) external view returns (bytes32[] memory value);
- function envString(string calldata name, string calldata delim) external view returns (string[] memory value);
- function envBytes(string calldata name, string calldata delim) external view returns (bytes[] memory value);
- // Read environment variables with default value
- function envOr(string calldata name, bool defaultValue) external returns (bool value);
- function envOr(string calldata name, uint256 defaultValue) external returns (uint256 value);
- function envOr(string calldata name, int256 defaultValue) external returns (int256 value);
- function envOr(string calldata name, address defaultValue) external returns (address value);
- function envOr(string calldata name, bytes32 defaultValue) external returns (bytes32 value);
- function envOr(string calldata name, string calldata defaultValue) external returns (string memory value);
- function envOr(string calldata name, bytes calldata defaultValue) external returns (bytes memory value);
- // Read environment variables as arrays with default value
- function envOr(string calldata name, string calldata delim, bool[] calldata defaultValue)
- external
- returns (bool[] memory value);
- function envOr(string calldata name, string calldata delim, uint256[] calldata defaultValue)
- external
- returns (uint256[] memory value);
- function envOr(string calldata name, string calldata delim, int256[] calldata defaultValue)
- external
- returns (int256[] memory value);
- function envOr(string calldata name, string calldata delim, address[] calldata defaultValue)
- external
- returns (address[] memory value);
- function envOr(string calldata name, string calldata delim, bytes32[] calldata defaultValue)
- external
- returns (bytes32[] memory value);
- function envOr(string calldata name, string calldata delim, string[] calldata defaultValue)
- external
- returns (string[] memory value);
- function envOr(string calldata name, string calldata delim, bytes[] calldata defaultValue)
- external
- returns (bytes[] memory value);
- // Records all storage reads and writes
- function record() external;
- // Gets all accessed reads and write slot from a recording session, for a given address
- function accesses(address target) external returns (bytes32[] memory readSlots, bytes32[] memory writeSlots);
- // Gets the _creation_ bytecode from an artifact file. Takes in the relative path to the json file
- function getCode(string calldata artifactPath) external view returns (bytes memory creationBytecode);
- // Gets the _deployed_ bytecode from an artifact file. Takes in the relative path to the json file
- function getDeployedCode(string calldata artifactPath) external view returns (bytes memory runtimeBytecode);
- // Labels an address in call traces
- function label(address account, string calldata newLabel) external;
- // Gets the label for the specified address
- function getLabel(address account) external returns (string memory currentLabel);
- // Using the address that calls the test contract, has the next call (at this call depth only) create a transaction that can later be signed and sent onchain
- function broadcast() external;
- // Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain
- function broadcast(address signer) external;
- // Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain
- function broadcast(uint256 privateKey) external;
- // Using the address that calls the test contract, has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain
- function startBroadcast() external;
- // Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain
- function startBroadcast(address signer) external;
- // Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain
- function startBroadcast(uint256 privateKey) external;
- // Stops collecting onchain transactions
- function stopBroadcast() external;
-
- // Get the path of the current project root.
- function projectRoot() external view returns (string memory path);
- // Reads the entire content of file to string. `path` is relative to the project root.
- function readFile(string calldata path) external view returns (string memory data);
- // Reads the entire content of file as binary. `path` is relative to the project root.
- function readFileBinary(string calldata path) external view returns (bytes memory data);
- // Reads next line of file to string.
- function readLine(string calldata path) external view returns (string memory line);
- // Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does.
- // `path` is relative to the project root.
- function writeFile(string calldata path, string calldata data) external;
- // Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does.
- // `path` is relative to the project root.
- function writeFileBinary(string calldata path, bytes calldata data) external;
- // Writes line to file, creating a file if it does not exist.
- // `path` is relative to the project root.
- function writeLine(string calldata path, string calldata data) external;
- // Closes file for reading, resetting the offset and allowing to read it from beginning with readLine.
- // `path` is relative to the project root.
- function closeFile(string calldata path) external;
- // Removes a file from the filesystem.
- // This cheatcode will revert in the following situations, but is not limited to just these cases:
- // - `path` points to a directory.
- // - The file doesn't exist.
- // - The user lacks permissions to remove the file.
- // `path` is relative to the project root.
- function removeFile(string calldata path) external;
- // Creates a new, empty directory at the provided path.
- // This cheatcode will revert in the following situations, but is not limited to just these cases:
- // - User lacks permissions to modify `path`.
- // - A parent of the given path doesn't exist and `recursive` is false.
- // - `path` already exists and `recursive` is false.
- // `path` is relative to the project root.
- function createDir(string calldata path, bool recursive) external;
- // Removes a directory at the provided path.
- // This cheatcode will revert in the following situations, but is not limited to just these cases:
- // - `path` doesn't exist.
- // - `path` isn't a directory.
- // - User lacks permissions to modify `path`.
- // - The directory is not empty and `recursive` is false.
- // `path` is relative to the project root.
- function removeDir(string calldata path, bool recursive) external;
- // Reads the directory at the given path recursively, up to `max_depth`.
- // `max_depth` defaults to 1, meaning only the direct children of the given directory will be returned.
- // Follows symbolic links if `follow_links` is true.
- function readDir(string calldata path) external view returns (DirEntry[] memory entries);
- function readDir(string calldata path, uint64 maxDepth) external view returns (DirEntry[] memory entries);
- function readDir(string calldata path, uint64 maxDepth, bool followLinks)
- external
- view
- returns (DirEntry[] memory entries);
- // Reads a symbolic link, returning the path that the link points to.
- // This cheatcode will revert in the following situations, but is not limited to just these cases:
- // - `path` is not a symbolic link.
- // - `path` does not exist.
- function readLink(string calldata linkPath) external view returns (string memory targetPath);
- // Given a path, query the file system to get information about a file, directory, etc.
- function fsMetadata(string calldata path) external view returns (FsMetadata memory metadata);
-
- // Convert values to a string
- function toString(address value) external pure returns (string memory stringifiedValue);
- function toString(bytes calldata value) external pure returns (string memory stringifiedValue);
- function toString(bytes32 value) external pure returns (string memory stringifiedValue);
- function toString(bool value) external pure returns (string memory stringifiedValue);
- function toString(uint256 value) external pure returns (string memory stringifiedValue);
- function toString(int256 value) external pure returns (string memory stringifiedValue);
- // Convert values from a string
- function parseBytes(string calldata stringifiedValue) external pure returns (bytes memory parsedValue);
- function parseAddress(string calldata stringifiedValue) external pure returns (address parsedValue);
- function parseUint(string calldata stringifiedValue) external pure returns (uint256 parsedValue);
- function parseInt(string calldata stringifiedValue) external pure returns (int256 parsedValue);
- function parseBytes32(string calldata stringifiedValue) external pure returns (bytes32 parsedValue);
- function parseBool(string calldata stringifiedValue) external pure returns (bool parsedValue);
- // Record all the transaction logs
- function recordLogs() external;
- // Gets all the recorded logs
- function getRecordedLogs() external returns (Log[] memory logs);
- // Derive a private key from a provided mnenomic string (or mnenomic file path) at the derivation path m/44'/60'/0'/0/{index}
- function deriveKey(string calldata mnemonic, uint32 index) external pure returns (uint256 privateKey);
- // Derive a private key from a provided mnenomic string (or mnenomic file path) at {derivationPath}{index}
- function deriveKey(string calldata mnemonic, string calldata derivationPath, uint32 index)
- external
- pure
- returns (uint256 privateKey);
- // Adds a private key to the local forge wallet and returns the address
- function rememberKey(uint256 privateKey) external returns (address keyAddr);
- //
- // parseJson
- //
- // ----
- // In case the returned value is a JSON object, it's encoded as a ABI-encoded tuple. As JSON objects
- // don't have the notion of ordered, but tuples do, they JSON object is encoded with it's fields ordered in
- // ALPHABETICAL order. That means that in order to successfully decode the tuple, we need to define a tuple that
- // encodes the fields in the same order, which is alphabetical. In the case of Solidity structs, they are encoded
- // as tuples, with the attributes in the order in which they are defined.
- // For example: json = { 'a': 1, 'b': 0xa4tb......3xs}
- // a: uint256
- // b: address
- // To decode that json, we need to define a struct or a tuple as follows:
- // struct json = { uint256 a; address b; }
- // If we defined a json struct with the opposite order, meaning placing the address b first, it would try to
- // decode the tuple in that order, and thus fail.
- // ----
- // Given a string of JSON, return it as ABI-encoded
- function parseJson(string calldata json, string calldata key) external pure returns (bytes memory abiEncodedData);
- function parseJson(string calldata json) external pure returns (bytes memory abiEncodedData);
-
- // The following parseJson cheatcodes will do type coercion, for the type that they indicate.
- // For example, parseJsonUint will coerce all values to a uint256. That includes stringified numbers '12'
- // and hex numbers '0xEF'.
- // Type coercion works ONLY for discrete values or arrays. That means that the key must return a value or array, not
- // a JSON object.
- function parseJsonUint(string calldata, string calldata) external returns (uint256);
- function parseJsonUintArray(string calldata, string calldata) external returns (uint256[] memory);
- function parseJsonInt(string calldata, string calldata) external returns (int256);
- function parseJsonIntArray(string calldata, string calldata) external returns (int256[] memory);
- function parseJsonBool(string calldata, string calldata) external returns (bool);
- function parseJsonBoolArray(string calldata, string calldata) external returns (bool[] memory);
- function parseJsonAddress(string calldata, string calldata) external returns (address);
- function parseJsonAddressArray(string calldata, string calldata) external returns (address[] memory);
- function parseJsonString(string calldata, string calldata) external returns (string memory);
- function parseJsonStringArray(string calldata, string calldata) external returns (string[] memory);
- function parseJsonBytes(string calldata, string calldata) external returns (bytes memory);
- function parseJsonBytesArray(string calldata, string calldata) external returns (bytes[] memory);
- function parseJsonBytes32(string calldata, string calldata) external returns (bytes32);
- function parseJsonBytes32Array(string calldata, string calldata) external returns (bytes32[] memory);
-
- // Serialize a key and value to a JSON object stored in-memory that can be later written to a file
- // It returns the stringified version of the specific JSON file up to that moment.
- function serializeBool(string calldata objectKey, string calldata valueKey, bool value)
- external
- returns (string memory json);
- function serializeUint(string calldata objectKey, string calldata valueKey, uint256 value)
- external
- returns (string memory json);
- function serializeInt(string calldata objectKey, string calldata valueKey, int256 value)
- external
- returns (string memory json);
- function serializeAddress(string calldata objectKey, string calldata valueKey, address value)
- external
- returns (string memory json);
- function serializeBytes32(string calldata objectKey, string calldata valueKey, bytes32 value)
- external
- returns (string memory json);
- function serializeString(string calldata objectKey, string calldata valueKey, string calldata value)
- external
- returns (string memory json);
- function serializeBytes(string calldata objectKey, string calldata valueKey, bytes calldata value)
- external
- returns (string memory json);
-
- function serializeBool(string calldata objectKey, string calldata valueKey, bool[] calldata values)
- external
- returns (string memory json);
- function serializeUint(string calldata objectKey, string calldata valueKey, uint256[] calldata values)
- external
- returns (string memory json);
- function serializeInt(string calldata objectKey, string calldata valueKey, int256[] calldata values)
- external
- returns (string memory json);
- function serializeAddress(string calldata objectKey, string calldata valueKey, address[] calldata values)
- external
- returns (string memory json);
- function serializeBytes32(string calldata objectKey, string calldata valueKey, bytes32[] calldata values)
- external
- returns (string memory json);
- function serializeString(string calldata objectKey, string calldata valueKey, string[] calldata values)
- external
- returns (string memory json);
- function serializeBytes(string calldata objectKey, string calldata valueKey, bytes[] calldata values)
- external
- returns (string memory json);
-
- //
- // writeJson
- //
- // ----
- // Write a serialized JSON object to a file. If the file exists, it will be overwritten.
- // Let's assume we want to write the following JSON to a file:
- //
- // { "boolean": true, "number": 342, "object": { "title": "finally json serialization" } }
- //
- // ```
- // string memory json1 = "some key";
- // vm.serializeBool(json1, "boolean", true);
- // vm.serializeBool(json1, "number", uint256(342));
- // json2 = "some other key";
- // string memory output = vm.serializeString(json2, "title", "finally json serialization");
- // string memory finalJson = vm.serialize(json1, "object", output);
- // vm.writeJson(finalJson, "./output/example.json");
- // ```
- // The critical insight is that every invocation of serialization will return the stringified version of the JSON
- // up to that point. That means we can construct arbitrary JSON objects and then use the return stringified version
- // to serialize them as values to another JSON object.
- //
- // json1 and json2 are simply keys used by the backend to keep track of the objects. So vm.serializeJson(json1,..)
- // will find the object in-memory that is keyed by "some key".
- function writeJson(string calldata json, string calldata path) external;
- // Write a serialized JSON object to an **existing** JSON file, replacing a value with key =
- // This is useful to replace a specific value of a JSON file, without having to parse the entire thing
- function writeJson(string calldata json, string calldata path, string calldata valueKey) external;
- // Returns the RPC url for the given alias
- function rpcUrl(string calldata rpcAlias) external view returns (string memory json);
- // Returns all rpc urls and their aliases `[alias, url][]`
- function rpcUrls() external view returns (string[2][] memory urls);
- // Returns all rpc urls and their aliases as structs.
- function rpcUrlStructs() external view returns (Rpc[] memory urls);
- // If the condition is false, discard this run's fuzz inputs and generate new ones.
- function assume(bool condition) external pure;
- // Pauses gas metering (i.e. gas usage is not counted). Noop if already paused.
- function pauseGasMetering() external;
- // Resumes gas metering (i.e. gas usage is counted again). Noop if already on.
- function resumeGasMetering() external;
- // Writes a breakpoint to jump to in the debugger
- function breakpoint(string calldata char) external;
- // Writes a conditional breakpoint to jump to in the debugger
- function breakpoint(string calldata char, bool value) external;
-}
-
-interface Vm is VmSafe {
- // Sets block.timestamp
- function warp(uint256 newTimestamp) external;
- // Sets block.height
- function roll(uint256 newHeight) external;
- // Sets block.basefee
- function fee(uint256 newBasefee) external;
- // Sets block.difficulty
- // Not available on EVM versions from Paris onwards. Use `prevrandao` instead.
- // If used on unsupported EVM versions it will revert.
- function difficulty(uint256 newDifficulty) external;
- // Sets block.prevrandao
- // Not available on EVM versions before Paris. Use `difficulty` instead.
- // If used on unsupported EVM versions it will revert.
- function prevrandao(bytes32 newPrevrandao) external;
- // Sets block.chainid
- function chainId(uint256 newChainId) external;
- // Sets tx.gasprice
- function txGasPrice(uint256 newGasPrice) external;
- // Stores a value to an address' storage slot.
- function store(address target, bytes32 slot, bytes32 value) external;
- // Sets the nonce of an account; must be higher than the current nonce of the account
- function setNonce(address account, uint64 newNonce) external;
- // Sets the nonce of an account to an arbitrary value
- function setNonceUnsafe(address account, uint64 newNonce) external;
- // Resets the nonce of an account to 0 for EOAs and 1 for contract accounts
- function resetNonce(address account) external;
- // Sets the *next* call's msg.sender to be the input address
- function prank(address msgSender) external;
- // Sets all subsequent calls' msg.sender to be the input address until `stopPrank` is called
- function startPrank(address msgSender) external;
- // Sets the *next* call's msg.sender to be the input address, and the tx.origin to be the second input
- function prank(address msgSender, address txOrigin) external;
- // Sets all subsequent calls' msg.sender to be the input address until `stopPrank` is called, and the tx.origin to be the second input
- function startPrank(address msgSender, address txOrigin) external;
- // Resets subsequent calls' msg.sender to be `address(this)`
- function stopPrank() external;
- // Reads the current `msg.sender` and `tx.origin` from state and reports if there is any active caller modification
- function readCallers() external returns (CallerMode callerMode, address msgSender, address txOrigin);
- // Sets an address' balance
- function deal(address account, uint256 newBalance) external;
- // Sets an address' code
- function etch(address target, bytes calldata newRuntimeBytecode) external;
- // Marks a test as skipped. Must be called at the top of the test.
- function skip(bool skipTest) external;
- // Expects an error on next call
- function expectRevert(bytes calldata revertData) external;
- function expectRevert(bytes4 revertData) external;
- function expectRevert() external;
-
- // Prepare an expected log with all four checks enabled.
- // Call this function, then emit an event, then call a function. Internally after the call, we check if
- // logs were emitted in the expected order with the expected topics and data.
- // Second form also checks supplied address against emitting contract.
- function expectEmit() external;
- function expectEmit(address emitter) external;
-
- // Prepare an expected log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData).
- // Call this function, then emit an event, then call a function. Internally after the call, we check if
- // logs were emitted in the expected order with the expected topics and data (as specified by the booleans).
- // Second form also checks supplied address against emitting contract.
- function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData) external;
- function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData, address emitter)
- external;
-
- // Mocks a call to an address, returning specified data.
- // Calldata can either be strict or a partial match, e.g. if you only
- // pass a Solidity selector to the expected calldata, then the entire Solidity
- // function will be mocked.
- function mockCall(address callee, bytes calldata data, bytes calldata returnData) external;
- // Mocks a call to an address with a specific msg.value, returning specified data.
- // Calldata match takes precedence over msg.value in case of ambiguity.
- function mockCall(address callee, uint256 msgValue, bytes calldata data, bytes calldata returnData) external;
- // Reverts a call to an address with specified revert data.
- function mockCallRevert(address callee, bytes calldata data, bytes calldata revertData) external;
- // Reverts a call to an address with a specific msg.value, with specified revert data.
- function mockCallRevert(address callee, uint256 msgValue, bytes calldata data, bytes calldata revertData)
- external;
- // Clears all mocked calls
- function clearMockedCalls() external;
- // Expects a call to an address with the specified calldata.
- // Calldata can either be a strict or a partial match
- function expectCall(address callee, bytes calldata data) external;
- // Expects given number of calls to an address with the specified calldata.
- function expectCall(address callee, bytes calldata data, uint64 count) external;
- // Expects a call to an address with the specified msg.value and calldata
- function expectCall(address callee, uint256 msgValue, bytes calldata data) external;
- // Expects given number of calls to an address with the specified msg.value and calldata
- function expectCall(address callee, uint256 msgValue, bytes calldata data, uint64 count) external;
- // Expect a call to an address with the specified msg.value, gas, and calldata.
- function expectCall(address callee, uint256 msgValue, uint64 gas, bytes calldata data) external;
- // Expects given number of calls to an address with the specified msg.value, gas, and calldata.
- function expectCall(address callee, uint256 msgValue, uint64 gas, bytes calldata data, uint64 count) external;
- // Expect a call to an address with the specified msg.value and calldata, and a *minimum* amount of gas.
- function expectCallMinGas(address callee, uint256 msgValue, uint64 minGas, bytes calldata data) external;
- // Expect given number of calls to an address with the specified msg.value and calldata, and a *minimum* amount of gas.
- function expectCallMinGas(address callee, uint256 msgValue, uint64 minGas, bytes calldata data, uint64 count)
- external;
- // Only allows memory writes to offsets [0x00, 0x60) ∪ [min, max) in the current subcontext. If any other
- // memory is written to, the test will fail. Can be called multiple times to add more ranges to the set.
- function expectSafeMemory(uint64 min, uint64 max) external;
- // Only allows memory writes to offsets [0x00, 0x60) ∪ [min, max) in the next created subcontext.
- // If any other memory is written to, the test will fail. Can be called multiple times to add more ranges
- // to the set.
- function expectSafeMemoryCall(uint64 min, uint64 max) external;
- // Sets block.coinbase
- function coinbase(address newCoinbase) external;
- // Snapshot the current state of the evm.
- // Returns the id of the snapshot that was created.
- // To revert a snapshot use `revertTo`
- function snapshot() external returns (uint256 snapshotId);
- // Revert the state of the EVM to a previous snapshot
- // Takes the snapshot id to revert to.
- // This deletes the snapshot and all snapshots taken after the given snapshot id.
- function revertTo(uint256 snapshotId) external returns (bool success);
- // Creates a new fork with the given endpoint and block and returns the identifier of the fork
- function createFork(string calldata urlOrAlias, uint256 blockNumber) external returns (uint256 forkId);
- // Creates a new fork with the given endpoint and the _latest_ block and returns the identifier of the fork
- function createFork(string calldata urlOrAlias) external returns (uint256 forkId);
- // Creates a new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before the transaction,
- // and returns the identifier of the fork
- function createFork(string calldata urlOrAlias, bytes32 txHash) external returns (uint256 forkId);
- // Creates _and_ also selects a new fork with the given endpoint and block and returns the identifier of the fork
- function createSelectFork(string calldata urlOrAlias, uint256 blockNumber) external returns (uint256 forkId);
- // Creates _and_ also selects new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before
- // the transaction, returns the identifier of the fork
- function createSelectFork(string calldata urlOrAlias, bytes32 txHash) external returns (uint256 forkId);
- // Creates _and_ also selects a new fork with the given endpoint and the latest block and returns the identifier of the fork
- function createSelectFork(string calldata urlOrAlias) external returns (uint256 forkId);
- // Takes a fork identifier created by `createFork` and sets the corresponding forked state as active.
- function selectFork(uint256 forkId) external;
- /// Returns the identifier of the currently active fork. Reverts if no fork is currently active.
- function activeFork() external view returns (uint256 forkId);
- // Updates the currently active fork to given block number
- // This is similar to `roll` but for the currently active fork
- function rollFork(uint256 blockNumber) external;
- // Updates the currently active fork to given transaction
- // this will `rollFork` with the number of the block the transaction was mined in and replays all transaction mined before it in the block
- function rollFork(bytes32 txHash) external;
- // Updates the given fork to given block number
- function rollFork(uint256 forkId, uint256 blockNumber) external;
- // Updates the given fork to block number of the given transaction and replays all transaction mined before it in the block
- function rollFork(uint256 forkId, bytes32 txHash) external;
- // Marks that the account(s) should use persistent storage across fork swaps in a multifork setup
- // Meaning, changes made to the state of this account will be kept when switching forks
- function makePersistent(address account) external;
- function makePersistent(address account0, address account1) external;
- function makePersistent(address account0, address account1, address account2) external;
- function makePersistent(address[] calldata accounts) external;
- // Revokes persistent status from the address, previously added via `makePersistent`
- function revokePersistent(address account) external;
- function revokePersistent(address[] calldata accounts) external;
- // Returns true if the account is marked as persistent
- function isPersistent(address account) external view returns (bool persistent);
- // In forking mode, explicitly grant the given address cheatcode access
- function allowCheatcodes(address account) external;
- // Fetches the given transaction from the active fork and executes it on the current state
- function transact(bytes32 txHash) external;
- // Fetches the given transaction from the given fork and executes it on the current state
- function transact(uint256 forkId, bytes32 txHash) external;
-}
diff --git a/lib/forge-std/src/console.sol b/lib/forge-std/src/console.sol
deleted file mode 100644
index ad57e53..0000000
--- a/lib/forge-std/src/console.sol
+++ /dev/null
@@ -1,1533 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.4.22 <0.9.0;
-
-library console {
- address constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67);
-
- function _sendLogPayload(bytes memory payload) private view {
- uint256 payloadLength = payload.length;
- address consoleAddress = CONSOLE_ADDRESS;
- /// @solidity memory-safe-assembly
- assembly {
- let payloadStart := add(payload, 32)
- let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)
- }
- }
-
- function log() internal view {
- _sendLogPayload(abi.encodeWithSignature("log()"));
- }
-
- function logInt(int p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(int)", p0));
- }
-
- function logUint(uint p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint)", p0));
- }
-
- function logString(string memory p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string)", p0));
- }
-
- function logBool(bool p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
- }
-
- function logAddress(address p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address)", p0));
- }
-
- function logBytes(bytes memory p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes)", p0));
- }
-
- function logBytes1(bytes1 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes1)", p0));
- }
-
- function logBytes2(bytes2 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes2)", p0));
- }
-
- function logBytes3(bytes3 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes3)", p0));
- }
-
- function logBytes4(bytes4 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes4)", p0));
- }
-
- function logBytes5(bytes5 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes5)", p0));
- }
-
- function logBytes6(bytes6 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes6)", p0));
- }
-
- function logBytes7(bytes7 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes7)", p0));
- }
-
- function logBytes8(bytes8 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes8)", p0));
- }
-
- function logBytes9(bytes9 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes9)", p0));
- }
-
- function logBytes10(bytes10 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes10)", p0));
- }
-
- function logBytes11(bytes11 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes11)", p0));
- }
-
- function logBytes12(bytes12 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes12)", p0));
- }
-
- function logBytes13(bytes13 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes13)", p0));
- }
-
- function logBytes14(bytes14 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes14)", p0));
- }
-
- function logBytes15(bytes15 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes15)", p0));
- }
-
- function logBytes16(bytes16 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes16)", p0));
- }
-
- function logBytes17(bytes17 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes17)", p0));
- }
-
- function logBytes18(bytes18 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes18)", p0));
- }
-
- function logBytes19(bytes19 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes19)", p0));
- }
-
- function logBytes20(bytes20 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes20)", p0));
- }
-
- function logBytes21(bytes21 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes21)", p0));
- }
-
- function logBytes22(bytes22 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes22)", p0));
- }
-
- function logBytes23(bytes23 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes23)", p0));
- }
-
- function logBytes24(bytes24 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes24)", p0));
- }
-
- function logBytes25(bytes25 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes25)", p0));
- }
-
- function logBytes26(bytes26 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes26)", p0));
- }
-
- function logBytes27(bytes27 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes27)", p0));
- }
-
- function logBytes28(bytes28 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes28)", p0));
- }
-
- function logBytes29(bytes29 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes29)", p0));
- }
-
- function logBytes30(bytes30 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes30)", p0));
- }
-
- function logBytes31(bytes31 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes31)", p0));
- }
-
- function logBytes32(bytes32 p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bytes32)", p0));
- }
-
- function log(uint p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint)", p0));
- }
-
- function log(string memory p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string)", p0));
- }
-
- function log(bool p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
- }
-
- function log(address p0) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address)", p0));
- }
-
- function log(uint p0, uint p1) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint)", p0, p1));
- }
-
- function log(uint p0, string memory p1) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string)", p0, p1));
- }
-
- function log(uint p0, bool p1) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool)", p0, p1));
- }
-
- function log(uint p0, address p1) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address)", p0, p1));
- }
-
- function log(string memory p0, uint p1) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint)", p0, p1));
- }
-
- function log(string memory p0, string memory p1) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string)", p0, p1));
- }
-
- function log(string memory p0, bool p1) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool)", p0, p1));
- }
-
- function log(string memory p0, address p1) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address)", p0, p1));
- }
-
- function log(bool p0, uint p1) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint)", p0, p1));
- }
-
- function log(bool p0, string memory p1) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string)", p0, p1));
- }
-
- function log(bool p0, bool p1) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool)", p0, p1));
- }
-
- function log(bool p0, address p1) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address)", p0, p1));
- }
-
- function log(address p0, uint p1) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint)", p0, p1));
- }
-
- function log(address p0, string memory p1) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string)", p0, p1));
- }
-
- function log(address p0, bool p1) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool)", p0, p1));
- }
-
- function log(address p0, address p1) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address)", p0, p1));
- }
-
- function log(uint p0, uint p1, uint p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,uint)", p0, p1, p2));
- }
-
- function log(uint p0, uint p1, string memory p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,string)", p0, p1, p2));
- }
-
- function log(uint p0, uint p1, bool p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,bool)", p0, p1, p2));
- }
-
- function log(uint p0, uint p1, address p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,address)", p0, p1, p2));
- }
-
- function log(uint p0, string memory p1, uint p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,uint)", p0, p1, p2));
- }
-
- function log(uint p0, string memory p1, string memory p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,string)", p0, p1, p2));
- }
-
- function log(uint p0, string memory p1, bool p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,bool)", p0, p1, p2));
- }
-
- function log(uint p0, string memory p1, address p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,address)", p0, p1, p2));
- }
-
- function log(uint p0, bool p1, uint p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,uint)", p0, p1, p2));
- }
-
- function log(uint p0, bool p1, string memory p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,string)", p0, p1, p2));
- }
-
- function log(uint p0, bool p1, bool p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,bool)", p0, p1, p2));
- }
-
- function log(uint p0, bool p1, address p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,address)", p0, p1, p2));
- }
-
- function log(uint p0, address p1, uint p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,uint)", p0, p1, p2));
- }
-
- function log(uint p0, address p1, string memory p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,string)", p0, p1, p2));
- }
-
- function log(uint p0, address p1, bool p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,bool)", p0, p1, p2));
- }
-
- function log(uint p0, address p1, address p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,address)", p0, p1, p2));
- }
-
- function log(string memory p0, uint p1, uint p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,uint)", p0, p1, p2));
- }
-
- function log(string memory p0, uint p1, string memory p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,string)", p0, p1, p2));
- }
-
- function log(string memory p0, uint p1, bool p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,bool)", p0, p1, p2));
- }
-
- function log(string memory p0, uint p1, address p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,address)", p0, p1, p2));
- }
-
- function log(string memory p0, string memory p1, uint p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,uint)", p0, p1, p2));
- }
-
- function log(string memory p0, string memory p1, string memory p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,string)", p0, p1, p2));
- }
-
- function log(string memory p0, string memory p1, bool p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,bool)", p0, p1, p2));
- }
-
- function log(string memory p0, string memory p1, address p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,address)", p0, p1, p2));
- }
-
- function log(string memory p0, bool p1, uint p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint)", p0, p1, p2));
- }
-
- function log(string memory p0, bool p1, string memory p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,string)", p0, p1, p2));
- }
-
- function log(string memory p0, bool p1, bool p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool)", p0, p1, p2));
- }
-
- function log(string memory p0, bool p1, address p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,address)", p0, p1, p2));
- }
-
- function log(string memory p0, address p1, uint p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,uint)", p0, p1, p2));
- }
-
- function log(string memory p0, address p1, string memory p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,string)", p0, p1, p2));
- }
-
- function log(string memory p0, address p1, bool p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,bool)", p0, p1, p2));
- }
-
- function log(string memory p0, address p1, address p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,address)", p0, p1, p2));
- }
-
- function log(bool p0, uint p1, uint p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,uint)", p0, p1, p2));
- }
-
- function log(bool p0, uint p1, string memory p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,string)", p0, p1, p2));
- }
-
- function log(bool p0, uint p1, bool p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,bool)", p0, p1, p2));
- }
-
- function log(bool p0, uint p1, address p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,address)", p0, p1, p2));
- }
-
- function log(bool p0, string memory p1, uint p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint)", p0, p1, p2));
- }
-
- function log(bool p0, string memory p1, string memory p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,string)", p0, p1, p2));
- }
-
- function log(bool p0, string memory p1, bool p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool)", p0, p1, p2));
- }
-
- function log(bool p0, string memory p1, address p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,address)", p0, p1, p2));
- }
-
- function log(bool p0, bool p1, uint p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint)", p0, p1, p2));
- }
-
- function log(bool p0, bool p1, string memory p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string)", p0, p1, p2));
- }
-
- function log(bool p0, bool p1, bool p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool)", p0, p1, p2));
- }
-
- function log(bool p0, bool p1, address p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address)", p0, p1, p2));
- }
-
- function log(bool p0, address p1, uint p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint)", p0, p1, p2));
- }
-
- function log(bool p0, address p1, string memory p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,string)", p0, p1, p2));
- }
-
- function log(bool p0, address p1, bool p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool)", p0, p1, p2));
- }
-
- function log(bool p0, address p1, address p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,address)", p0, p1, p2));
- }
-
- function log(address p0, uint p1, uint p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,uint)", p0, p1, p2));
- }
-
- function log(address p0, uint p1, string memory p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,string)", p0, p1, p2));
- }
-
- function log(address p0, uint p1, bool p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,bool)", p0, p1, p2));
- }
-
- function log(address p0, uint p1, address p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,address)", p0, p1, p2));
- }
-
- function log(address p0, string memory p1, uint p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,uint)", p0, p1, p2));
- }
-
- function log(address p0, string memory p1, string memory p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,string)", p0, p1, p2));
- }
-
- function log(address p0, string memory p1, bool p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,bool)", p0, p1, p2));
- }
-
- function log(address p0, string memory p1, address p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,address)", p0, p1, p2));
- }
-
- function log(address p0, bool p1, uint p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint)", p0, p1, p2));
- }
-
- function log(address p0, bool p1, string memory p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,string)", p0, p1, p2));
- }
-
- function log(address p0, bool p1, bool p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool)", p0, p1, p2));
- }
-
- function log(address p0, bool p1, address p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,address)", p0, p1, p2));
- }
-
- function log(address p0, address p1, uint p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,uint)", p0, p1, p2));
- }
-
- function log(address p0, address p1, string memory p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,string)", p0, p1, p2));
- }
-
- function log(address p0, address p1, bool p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,bool)", p0, p1, p2));
- }
-
- function log(address p0, address p1, address p2) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,address)", p0, p1, p2));
- }
-
- function log(uint p0, uint p1, uint p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,uint,uint)", p0, p1, p2, p3));
- }
-
- function log(uint p0, uint p1, uint p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,uint,string)", p0, p1, p2, p3));
- }
-
- function log(uint p0, uint p1, uint p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,uint,bool)", p0, p1, p2, p3));
- }
-
- function log(uint p0, uint p1, uint p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,uint,address)", p0, p1, p2, p3));
- }
-
- function log(uint p0, uint p1, string memory p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,string,uint)", p0, p1, p2, p3));
- }
-
- function log(uint p0, uint p1, string memory p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,string,string)", p0, p1, p2, p3));
- }
-
- function log(uint p0, uint p1, string memory p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,string,bool)", p0, p1, p2, p3));
- }
-
- function log(uint p0, uint p1, string memory p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,string,address)", p0, p1, p2, p3));
- }
-
- function log(uint p0, uint p1, bool p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,bool,uint)", p0, p1, p2, p3));
- }
-
- function log(uint p0, uint p1, bool p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,bool,string)", p0, p1, p2, p3));
- }
-
- function log(uint p0, uint p1, bool p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(uint p0, uint p1, bool p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,bool,address)", p0, p1, p2, p3));
- }
-
- function log(uint p0, uint p1, address p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,address,uint)", p0, p1, p2, p3));
- }
-
- function log(uint p0, uint p1, address p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,address,string)", p0, p1, p2, p3));
- }
-
- function log(uint p0, uint p1, address p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,address,bool)", p0, p1, p2, p3));
- }
-
- function log(uint p0, uint p1, address p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,uint,address,address)", p0, p1, p2, p3));
- }
-
- function log(uint p0, string memory p1, uint p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,uint,uint)", p0, p1, p2, p3));
- }
-
- function log(uint p0, string memory p1, uint p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,uint,string)", p0, p1, p2, p3));
- }
-
- function log(uint p0, string memory p1, uint p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,uint,bool)", p0, p1, p2, p3));
- }
-
- function log(uint p0, string memory p1, uint p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,uint,address)", p0, p1, p2, p3));
- }
-
- function log(uint p0, string memory p1, string memory p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,string,uint)", p0, p1, p2, p3));
- }
-
- function log(uint p0, string memory p1, string memory p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,string,string)", p0, p1, p2, p3));
- }
-
- function log(uint p0, string memory p1, string memory p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,string,bool)", p0, p1, p2, p3));
- }
-
- function log(uint p0, string memory p1, string memory p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,string,address)", p0, p1, p2, p3));
- }
-
- function log(uint p0, string memory p1, bool p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,bool,uint)", p0, p1, p2, p3));
- }
-
- function log(uint p0, string memory p1, bool p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,bool,string)", p0, p1, p2, p3));
- }
-
- function log(uint p0, string memory p1, bool p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(uint p0, string memory p1, bool p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,bool,address)", p0, p1, p2, p3));
- }
-
- function log(uint p0, string memory p1, address p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,address,uint)", p0, p1, p2, p3));
- }
-
- function log(uint p0, string memory p1, address p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,address,string)", p0, p1, p2, p3));
- }
-
- function log(uint p0, string memory p1, address p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,address,bool)", p0, p1, p2, p3));
- }
-
- function log(uint p0, string memory p1, address p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,string,address,address)", p0, p1, p2, p3));
- }
-
- function log(uint p0, bool p1, uint p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,uint,uint)", p0, p1, p2, p3));
- }
-
- function log(uint p0, bool p1, uint p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,uint,string)", p0, p1, p2, p3));
- }
-
- function log(uint p0, bool p1, uint p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,uint,bool)", p0, p1, p2, p3));
- }
-
- function log(uint p0, bool p1, uint p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,uint,address)", p0, p1, p2, p3));
- }
-
- function log(uint p0, bool p1, string memory p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,string,uint)", p0, p1, p2, p3));
- }
-
- function log(uint p0, bool p1, string memory p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,string,string)", p0, p1, p2, p3));
- }
-
- function log(uint p0, bool p1, string memory p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,string,bool)", p0, p1, p2, p3));
- }
-
- function log(uint p0, bool p1, string memory p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,string,address)", p0, p1, p2, p3));
- }
-
- function log(uint p0, bool p1, bool p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,bool,uint)", p0, p1, p2, p3));
- }
-
- function log(uint p0, bool p1, bool p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,bool,string)", p0, p1, p2, p3));
- }
-
- function log(uint p0, bool p1, bool p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(uint p0, bool p1, bool p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,bool,address)", p0, p1, p2, p3));
- }
-
- function log(uint p0, bool p1, address p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,address,uint)", p0, p1, p2, p3));
- }
-
- function log(uint p0, bool p1, address p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,address,string)", p0, p1, p2, p3));
- }
-
- function log(uint p0, bool p1, address p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,address,bool)", p0, p1, p2, p3));
- }
-
- function log(uint p0, bool p1, address p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,bool,address,address)", p0, p1, p2, p3));
- }
-
- function log(uint p0, address p1, uint p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,uint,uint)", p0, p1, p2, p3));
- }
-
- function log(uint p0, address p1, uint p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,uint,string)", p0, p1, p2, p3));
- }
-
- function log(uint p0, address p1, uint p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,uint,bool)", p0, p1, p2, p3));
- }
-
- function log(uint p0, address p1, uint p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,uint,address)", p0, p1, p2, p3));
- }
-
- function log(uint p0, address p1, string memory p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,string,uint)", p0, p1, p2, p3));
- }
-
- function log(uint p0, address p1, string memory p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,string,string)", p0, p1, p2, p3));
- }
-
- function log(uint p0, address p1, string memory p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,string,bool)", p0, p1, p2, p3));
- }
-
- function log(uint p0, address p1, string memory p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,string,address)", p0, p1, p2, p3));
- }
-
- function log(uint p0, address p1, bool p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,bool,uint)", p0, p1, p2, p3));
- }
-
- function log(uint p0, address p1, bool p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,bool,string)", p0, p1, p2, p3));
- }
-
- function log(uint p0, address p1, bool p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(uint p0, address p1, bool p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,bool,address)", p0, p1, p2, p3));
- }
-
- function log(uint p0, address p1, address p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,address,uint)", p0, p1, p2, p3));
- }
-
- function log(uint p0, address p1, address p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,address,string)", p0, p1, p2, p3));
- }
-
- function log(uint p0, address p1, address p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,address,bool)", p0, p1, p2, p3));
- }
-
- function log(uint p0, address p1, address p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(uint,address,address,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint p1, uint p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,uint,uint)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint p1, uint p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,uint,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint p1, uint p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,uint,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint p1, uint p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,uint,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint p1, string memory p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,string,uint)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint p1, string memory p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,string,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint p1, string memory p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,string,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint p1, string memory p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,string,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint p1, bool p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,bool,uint)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint p1, bool p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,bool,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint p1, bool p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint p1, bool p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,bool,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint p1, address p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,address,uint)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint p1, address p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,address,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint p1, address p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,address,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint p1, address p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint,address,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, uint p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,uint,uint)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, uint p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,uint,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, uint p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,uint,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, uint p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,uint,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, string memory p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,string,uint)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, string memory p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,string,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, string memory p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,string,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, string memory p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,string,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, bool p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,bool,uint)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, bool p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,bool,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, bool p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, bool p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,bool,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, address p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,address,uint)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, address p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,address,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, address p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,address,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, address p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,address,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, uint p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint,uint)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, uint p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, uint p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, uint p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, string memory p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,string,uint)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, string memory p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,string,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, string memory p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,string,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, string memory p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,string,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, bool p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,uint)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, bool p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, bool p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, bool p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, address p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,address,uint)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, address p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,address,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, address p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,address,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, address p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,address,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, uint p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,uint,uint)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, uint p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,uint,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, uint p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,uint,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, uint p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,uint,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, string memory p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,string,uint)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, string memory p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,string,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, string memory p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,string,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, string memory p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,string,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, bool p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,bool,uint)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, bool p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,bool,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, bool p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, bool p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,bool,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, address p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,address,uint)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, address p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,address,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, address p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,address,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, address p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,address,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint p1, uint p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,uint,uint)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint p1, uint p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,uint,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint p1, uint p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,uint,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint p1, uint p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,uint,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint p1, string memory p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,string,uint)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint p1, string memory p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,string,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint p1, string memory p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,string,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint p1, string memory p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,string,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint p1, bool p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,bool,uint)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint p1, bool p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,bool,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint p1, bool p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint p1, bool p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,bool,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint p1, address p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,address,uint)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint p1, address p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,address,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint p1, address p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,address,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint p1, address p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint,address,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, uint p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint,uint)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, uint p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, uint p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, uint p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, string memory p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,string,uint)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, string memory p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,string,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, string memory p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,string,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, string memory p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,string,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, bool p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,uint)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, bool p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, bool p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, bool p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, address p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,address,uint)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, address p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,address,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, address p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,address,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, address p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,address,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, uint p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint,uint)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, uint p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, uint p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, uint p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, string memory p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,uint)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, string memory p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, string memory p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, string memory p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, bool p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,uint)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, bool p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, bool p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, bool p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, address p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,uint)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, address p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, address p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, address p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, uint p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint,uint)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, uint p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, uint p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, uint p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, string memory p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,string,uint)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, string memory p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,string,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, string memory p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,string,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, string memory p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,string,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, bool p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,uint)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, bool p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, bool p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, bool p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, address p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,address,uint)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, address p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,address,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, address p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,address,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, address p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,address,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint p1, uint p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,uint,uint)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint p1, uint p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,uint,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint p1, uint p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,uint,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint p1, uint p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,uint,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint p1, string memory p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,string,uint)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint p1, string memory p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,string,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint p1, string memory p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,string,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint p1, string memory p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,string,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint p1, bool p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,bool,uint)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint p1, bool p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,bool,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint p1, bool p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint p1, bool p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,bool,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint p1, address p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,address,uint)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint p1, address p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,address,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint p1, address p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,address,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint p1, address p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint,address,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, uint p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,uint,uint)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, uint p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,uint,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, uint p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,uint,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, uint p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,uint,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, string memory p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,string,uint)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, string memory p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,string,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, string memory p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,string,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, string memory p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,string,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, bool p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,bool,uint)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, bool p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,bool,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, bool p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, bool p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,bool,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, address p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,address,uint)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, address p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,address,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, address p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,address,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, address p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,address,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, uint p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint,uint)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, uint p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, uint p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, uint p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, string memory p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,string,uint)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, string memory p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,string,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, string memory p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,string,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, string memory p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,string,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, bool p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,uint)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, bool p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, bool p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, bool p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, address p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,address,uint)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, address p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,address,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, address p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,address,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, address p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,address,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, uint p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,uint,uint)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, uint p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,uint,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, uint p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,uint,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, uint p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,uint,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, string memory p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,string,uint)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, string memory p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,string,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, string memory p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,string,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, string memory p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,string,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, bool p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,bool,uint)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, bool p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,bool,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, bool p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, bool p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,bool,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, address p2, uint p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,address,uint)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, address p2, string memory p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,address,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, address p2, bool p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,address,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, address p2, address p3) internal view {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,address,address)", p0, p1, p2, p3));
- }
-
-}
\ No newline at end of file
diff --git a/lib/forge-std/src/console2.sol b/lib/forge-std/src/console2.sol
deleted file mode 100644
index c1e2cd7..0000000
--- a/lib/forge-std/src/console2.sol
+++ /dev/null
@@ -1,1558 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.4.22 <0.9.0;
-
-/// @dev The original console.sol uses `int` and `uint` for computing function selectors, but it should
-/// use `int256` and `uint256`. This modified version fixes that. This version is recommended
-/// over `console.sol` if you don't need compatibility with Hardhat as the logs will show up in
-/// forge stack traces. If you do need compatibility with Hardhat, you must use `console.sol`.
-/// Reference: https://github.com/NomicFoundation/hardhat/issues/2178
-library console2 {
- address constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67);
-
- function _castLogPayloadViewToPure(
- function(bytes memory) internal view fnIn
- ) internal pure returns (function(bytes memory) internal pure fnOut) {
- assembly {
- fnOut := fnIn
- }
- }
-
- function _sendLogPayload(bytes memory payload) internal pure {
- _castLogPayloadViewToPure(_sendLogPayloadView)(payload);
- }
-
- function _sendLogPayloadView(bytes memory payload) private view {
- uint256 payloadLength = payload.length;
- address consoleAddress = CONSOLE_ADDRESS;
- /// @solidity memory-safe-assembly
- assembly {
- let payloadStart := add(payload, 32)
- let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)
- }
- }
-
- function log() internal pure {
- _sendLogPayload(abi.encodeWithSignature("log()"));
- }
-
- function logInt(int256 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(int256)", p0));
- }
-
- function logUint(uint256 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256)", p0));
- }
-
- function logString(string memory p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string)", p0));
- }
-
- function logBool(bool p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
- }
-
- function logAddress(address p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address)", p0));
- }
-
- function logBytes(bytes memory p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes)", p0));
- }
-
- function logBytes1(bytes1 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes1)", p0));
- }
-
- function logBytes2(bytes2 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes2)", p0));
- }
-
- function logBytes3(bytes3 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes3)", p0));
- }
-
- function logBytes4(bytes4 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes4)", p0));
- }
-
- function logBytes5(bytes5 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes5)", p0));
- }
-
- function logBytes6(bytes6 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes6)", p0));
- }
-
- function logBytes7(bytes7 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes7)", p0));
- }
-
- function logBytes8(bytes8 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes8)", p0));
- }
-
- function logBytes9(bytes9 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes9)", p0));
- }
-
- function logBytes10(bytes10 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes10)", p0));
- }
-
- function logBytes11(bytes11 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes11)", p0));
- }
-
- function logBytes12(bytes12 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes12)", p0));
- }
-
- function logBytes13(bytes13 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes13)", p0));
- }
-
- function logBytes14(bytes14 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes14)", p0));
- }
-
- function logBytes15(bytes15 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes15)", p0));
- }
-
- function logBytes16(bytes16 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes16)", p0));
- }
-
- function logBytes17(bytes17 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes17)", p0));
- }
-
- function logBytes18(bytes18 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes18)", p0));
- }
-
- function logBytes19(bytes19 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes19)", p0));
- }
-
- function logBytes20(bytes20 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes20)", p0));
- }
-
- function logBytes21(bytes21 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes21)", p0));
- }
-
- function logBytes22(bytes22 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes22)", p0));
- }
-
- function logBytes23(bytes23 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes23)", p0));
- }
-
- function logBytes24(bytes24 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes24)", p0));
- }
-
- function logBytes25(bytes25 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes25)", p0));
- }
-
- function logBytes26(bytes26 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes26)", p0));
- }
-
- function logBytes27(bytes27 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes27)", p0));
- }
-
- function logBytes28(bytes28 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes28)", p0));
- }
-
- function logBytes29(bytes29 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes29)", p0));
- }
-
- function logBytes30(bytes30 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes30)", p0));
- }
-
- function logBytes31(bytes31 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes31)", p0));
- }
-
- function logBytes32(bytes32 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bytes32)", p0));
- }
-
- function log(uint256 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256)", p0));
- }
-
- function log(int256 p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(int256)", p0));
- }
-
- function log(string memory p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string)", p0));
- }
-
- function log(bool p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
- }
-
- function log(address p0) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address)", p0));
- }
-
- function log(uint256 p0, uint256 p1) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256)", p0, p1));
- }
-
- function log(uint256 p0, string memory p1) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string)", p0, p1));
- }
-
- function log(uint256 p0, bool p1) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool)", p0, p1));
- }
-
- function log(uint256 p0, address p1) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address)", p0, p1));
- }
-
- function log(string memory p0, uint256 p1) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256)", p0, p1));
- }
-
- function log(string memory p0, int256 p1) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,int256)", p0, p1));
- }
-
- function log(string memory p0, string memory p1) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string)", p0, p1));
- }
-
- function log(string memory p0, bool p1) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool)", p0, p1));
- }
-
- function log(string memory p0, address p1) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address)", p0, p1));
- }
-
- function log(bool p0, uint256 p1) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256)", p0, p1));
- }
-
- function log(bool p0, string memory p1) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string)", p0, p1));
- }
-
- function log(bool p0, bool p1) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool)", p0, p1));
- }
-
- function log(bool p0, address p1) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address)", p0, p1));
- }
-
- function log(address p0, uint256 p1) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256)", p0, p1));
- }
-
- function log(address p0, string memory p1) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string)", p0, p1));
- }
-
- function log(address p0, bool p1) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool)", p0, p1));
- }
-
- function log(address p0, address p1) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address)", p0, p1));
- }
-
- function log(uint256 p0, uint256 p1, uint256 p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256)", p0, p1, p2));
- }
-
- function log(uint256 p0, uint256 p1, string memory p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string)", p0, p1, p2));
- }
-
- function log(uint256 p0, uint256 p1, bool p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool)", p0, p1, p2));
- }
-
- function log(uint256 p0, uint256 p1, address p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address)", p0, p1, p2));
- }
-
- function log(uint256 p0, string memory p1, uint256 p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256)", p0, p1, p2));
- }
-
- function log(uint256 p0, string memory p1, string memory p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,string)", p0, p1, p2));
- }
-
- function log(uint256 p0, string memory p1, bool p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool)", p0, p1, p2));
- }
-
- function log(uint256 p0, string memory p1, address p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,address)", p0, p1, p2));
- }
-
- function log(uint256 p0, bool p1, uint256 p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256)", p0, p1, p2));
- }
-
- function log(uint256 p0, bool p1, string memory p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string)", p0, p1, p2));
- }
-
- function log(uint256 p0, bool p1, bool p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool)", p0, p1, p2));
- }
-
- function log(uint256 p0, bool p1, address p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address)", p0, p1, p2));
- }
-
- function log(uint256 p0, address p1, uint256 p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256)", p0, p1, p2));
- }
-
- function log(uint256 p0, address p1, string memory p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,string)", p0, p1, p2));
- }
-
- function log(uint256 p0, address p1, bool p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool)", p0, p1, p2));
- }
-
- function log(uint256 p0, address p1, address p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,address)", p0, p1, p2));
- }
-
- function log(string memory p0, uint256 p1, uint256 p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256)", p0, p1, p2));
- }
-
- function log(string memory p0, uint256 p1, string memory p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,string)", p0, p1, p2));
- }
-
- function log(string memory p0, uint256 p1, bool p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool)", p0, p1, p2));
- }
-
- function log(string memory p0, uint256 p1, address p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,address)", p0, p1, p2));
- }
-
- function log(string memory p0, string memory p1, uint256 p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,uint256)", p0, p1, p2));
- }
-
- function log(string memory p0, string memory p1, string memory p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,string)", p0, p1, p2));
- }
-
- function log(string memory p0, string memory p1, bool p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,bool)", p0, p1, p2));
- }
-
- function log(string memory p0, string memory p1, address p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,address)", p0, p1, p2));
- }
-
- function log(string memory p0, bool p1, uint256 p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256)", p0, p1, p2));
- }
-
- function log(string memory p0, bool p1, string memory p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,string)", p0, p1, p2));
- }
-
- function log(string memory p0, bool p1, bool p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool)", p0, p1, p2));
- }
-
- function log(string memory p0, bool p1, address p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,address)", p0, p1, p2));
- }
-
- function log(string memory p0, address p1, uint256 p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,uint256)", p0, p1, p2));
- }
-
- function log(string memory p0, address p1, string memory p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,string)", p0, p1, p2));
- }
-
- function log(string memory p0, address p1, bool p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,bool)", p0, p1, p2));
- }
-
- function log(string memory p0, address p1, address p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,address)", p0, p1, p2));
- }
-
- function log(bool p0, uint256 p1, uint256 p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256)", p0, p1, p2));
- }
-
- function log(bool p0, uint256 p1, string memory p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string)", p0, p1, p2));
- }
-
- function log(bool p0, uint256 p1, bool p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool)", p0, p1, p2));
- }
-
- function log(bool p0, uint256 p1, address p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address)", p0, p1, p2));
- }
-
- function log(bool p0, string memory p1, uint256 p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256)", p0, p1, p2));
- }
-
- function log(bool p0, string memory p1, string memory p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,string)", p0, p1, p2));
- }
-
- function log(bool p0, string memory p1, bool p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool)", p0, p1, p2));
- }
-
- function log(bool p0, string memory p1, address p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,address)", p0, p1, p2));
- }
-
- function log(bool p0, bool p1, uint256 p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256)", p0, p1, p2));
- }
-
- function log(bool p0, bool p1, string memory p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string)", p0, p1, p2));
- }
-
- function log(bool p0, bool p1, bool p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool)", p0, p1, p2));
- }
-
- function log(bool p0, bool p1, address p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address)", p0, p1, p2));
- }
-
- function log(bool p0, address p1, uint256 p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256)", p0, p1, p2));
- }
-
- function log(bool p0, address p1, string memory p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,string)", p0, p1, p2));
- }
-
- function log(bool p0, address p1, bool p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool)", p0, p1, p2));
- }
-
- function log(bool p0, address p1, address p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,address)", p0, p1, p2));
- }
-
- function log(address p0, uint256 p1, uint256 p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256)", p0, p1, p2));
- }
-
- function log(address p0, uint256 p1, string memory p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,string)", p0, p1, p2));
- }
-
- function log(address p0, uint256 p1, bool p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool)", p0, p1, p2));
- }
-
- function log(address p0, uint256 p1, address p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,address)", p0, p1, p2));
- }
-
- function log(address p0, string memory p1, uint256 p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,uint256)", p0, p1, p2));
- }
-
- function log(address p0, string memory p1, string memory p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,string)", p0, p1, p2));
- }
-
- function log(address p0, string memory p1, bool p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,bool)", p0, p1, p2));
- }
-
- function log(address p0, string memory p1, address p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,address)", p0, p1, p2));
- }
-
- function log(address p0, bool p1, uint256 p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256)", p0, p1, p2));
- }
-
- function log(address p0, bool p1, string memory p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,string)", p0, p1, p2));
- }
-
- function log(address p0, bool p1, bool p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool)", p0, p1, p2));
- }
-
- function log(address p0, bool p1, address p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,address)", p0, p1, p2));
- }
-
- function log(address p0, address p1, uint256 p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,uint256)", p0, p1, p2));
- }
-
- function log(address p0, address p1, string memory p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,string)", p0, p1, p2));
- }
-
- function log(address p0, address p1, bool p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,bool)", p0, p1, p2));
- }
-
- function log(address p0, address p1, address p2) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,address)", p0, p1, p2));
- }
-
- function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,uint256)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,string)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,bool)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,address)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,uint256)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, uint256 p1, string memory p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,string)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,bool)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, uint256 p1, string memory p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,address)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,uint256)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,string)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, uint256 p1, bool p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, uint256 p1, bool p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,address)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,uint256)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, uint256 p1, address p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,string)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, uint256 p1, address p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,bool)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, uint256 p1, address p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,address)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,uint256)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, string memory p1, uint256 p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,string)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,bool)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, string memory p1, uint256 p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,address)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, string memory p1, string memory p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,uint256)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, string memory p1, string memory p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,string)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, string memory p1, string memory p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,bool)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, string memory p1, string memory p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,address)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,uint256)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, string memory p1, bool p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,string)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, string memory p1, bool p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, string memory p1, bool p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,address)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, string memory p1, address p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,uint256)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, string memory p1, address p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,string)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, string memory p1, address p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,bool)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, string memory p1, address p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,address)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,uint256)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,string)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, bool p1, uint256 p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,bool)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, bool p1, uint256 p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,address)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,uint256)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, bool p1, string memory p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,string)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, bool p1, string memory p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,bool)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, bool p1, string memory p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,address)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, bool p1, bool p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,uint256)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, bool p1, bool p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,string)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, bool p1, bool p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, bool p1, bool p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,address)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, bool p1, address p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,uint256)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, bool p1, address p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,string)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, bool p1, address p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,bool)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, bool p1, address p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,address)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,uint256)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, address p1, uint256 p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,string)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, address p1, uint256 p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,bool)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, address p1, uint256 p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,address)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, address p1, string memory p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,uint256)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, address p1, string memory p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,string)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, address p1, string memory p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,bool)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, address p1, string memory p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,address)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, address p1, bool p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,uint256)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, address p1, bool p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,string)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, address p1, bool p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, address p1, bool p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,address)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, address p1, address p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,uint256)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, address p1, address p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,string)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, address p1, address p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,bool)", p0, p1, p2, p3));
- }
-
- function log(uint256 p0, address p1, address p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,uint256)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint256 p1, uint256 p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint256 p1, uint256 p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint256 p1, string memory p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,uint256)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint256 p1, string memory p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint256 p1, string memory p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint256 p1, string memory p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,uint256)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint256 p1, bool p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint256 p1, bool p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint256 p1, bool p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint256 p1, address p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,uint256)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint256 p1, address p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint256 p1, address p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, uint256 p1, address p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, uint256 p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,uint256)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, uint256 p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, uint256 p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, uint256 p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, string memory p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,string,uint256)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, string memory p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,string,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, string memory p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,string,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, string memory p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,string,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, bool p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,bool,uint256)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, bool p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,bool,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, bool p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, bool p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,bool,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, address p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,address,uint256)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, address p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,address,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, address p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,address,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, string memory p1, address p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,string,address,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,uint256)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, uint256 p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, uint256 p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, uint256 p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, string memory p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,string,uint256)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, string memory p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,string,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, string memory p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,string,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, string memory p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,string,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, bool p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,uint256)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, bool p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, bool p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, bool p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, address p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,address,uint256)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, address p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,address,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, address p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,address,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, bool p1, address p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,bool,address,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, uint256 p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,uint256)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, uint256 p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, uint256 p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, uint256 p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, string memory p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,string,uint256)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, string memory p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,string,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, string memory p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,string,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, string memory p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,string,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, bool p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,bool,uint256)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, bool p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,bool,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, bool p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, bool p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,bool,address)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, address p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,address,uint256)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, address p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,address,string)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, address p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,address,bool)", p0, p1, p2, p3));
- }
-
- function log(string memory p0, address p1, address p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(string,address,address,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,uint256)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint256 p1, uint256 p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint256 p1, uint256 p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,uint256)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint256 p1, string memory p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint256 p1, string memory p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint256 p1, string memory p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint256 p1, bool p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,uint256)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint256 p1, bool p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint256 p1, bool p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint256 p1, bool p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint256 p1, address p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,uint256)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint256 p1, address p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint256 p1, address p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, uint256 p1, address p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,uint256)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, uint256 p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, uint256 p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, uint256 p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, string memory p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,string,uint256)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, string memory p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,string,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, string memory p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,string,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, string memory p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,string,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, bool p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,uint256)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, bool p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, bool p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, bool p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, address p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,address,uint256)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, address p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,address,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, address p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,address,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, string memory p1, address p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,string,address,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, uint256 p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,uint256)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, uint256 p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, uint256 p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, uint256 p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, string memory p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,uint256)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, string memory p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, string memory p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, string memory p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, bool p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,uint256)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, bool p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, bool p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, bool p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, address p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,uint256)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, address p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, address p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, bool p1, address p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, uint256 p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,uint256)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, uint256 p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, uint256 p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, uint256 p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, string memory p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,string,uint256)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, string memory p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,string,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, string memory p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,string,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, string memory p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,string,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, bool p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,uint256)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, bool p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, bool p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, bool p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,address)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, address p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,address,uint256)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, address p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,address,string)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, address p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,address,bool)", p0, p1, p2, p3));
- }
-
- function log(bool p0, address p1, address p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(bool,address,address,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,uint256)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint256 p1, uint256 p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint256 p1, uint256 p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint256 p1, uint256 p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint256 p1, string memory p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,uint256)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint256 p1, string memory p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint256 p1, string memory p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint256 p1, string memory p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint256 p1, bool p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,uint256)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint256 p1, bool p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint256 p1, bool p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint256 p1, bool p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint256 p1, address p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,uint256)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint256 p1, address p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint256 p1, address p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, uint256 p1, address p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, uint256 p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,uint256)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, uint256 p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, uint256 p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, uint256 p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, string memory p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,string,uint256)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, string memory p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,string,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, string memory p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,string,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, string memory p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,string,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, bool p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,bool,uint256)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, bool p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,bool,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, bool p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, bool p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,bool,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, address p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,address,uint256)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, address p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,address,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, address p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,address,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, string memory p1, address p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,string,address,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, uint256 p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,uint256)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, uint256 p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, uint256 p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, uint256 p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, string memory p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,string,uint256)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, string memory p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,string,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, string memory p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,string,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, string memory p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,string,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, bool p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,uint256)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, bool p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, bool p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, bool p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, address p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,address,uint256)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, address p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,address,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, address p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,address,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, bool p1, address p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,bool,address,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, uint256 p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,uint256)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, uint256 p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, uint256 p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, uint256 p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, string memory p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,string,uint256)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, string memory p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,string,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, string memory p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,string,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, string memory p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,string,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, bool p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,bool,uint256)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, bool p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,bool,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, bool p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,bool,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, bool p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,bool,address)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, address p2, uint256 p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,address,uint256)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, address p2, string memory p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,address,string)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, address p2, bool p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,address,bool)", p0, p1, p2, p3));
- }
-
- function log(address p0, address p1, address p2, address p3) internal pure {
- _sendLogPayload(abi.encodeWithSignature("log(address,address,address,address)", p0, p1, p2, p3));
- }
-
-}
\ No newline at end of file
diff --git a/lib/forge-std/src/interfaces/IERC1155.sol b/lib/forge-std/src/interfaces/IERC1155.sol
deleted file mode 100644
index f7dd2b4..0000000
--- a/lib/forge-std/src/interfaces/IERC1155.sol
+++ /dev/null
@@ -1,105 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2;
-
-import "./IERC165.sol";
-
-/// @title ERC-1155 Multi Token Standard
-/// @dev See https://eips.ethereum.org/EIPS/eip-1155
-/// Note: The ERC-165 identifier for this interface is 0xd9b67a26.
-interface IERC1155 is IERC165 {
- /// @dev
- /// - Either `TransferSingle` or `TransferBatch` MUST emit when tokens are transferred, including zero value transfers as well as minting or burning (see "Safe Transfer Rules" section of the standard).
- /// - The `_operator` argument MUST be the address of an account/contract that is approved to make the transfer (SHOULD be msg.sender).
- /// - The `_from` argument MUST be the address of the holder whose balance is decreased.
- /// - The `_to` argument MUST be the address of the recipient whose balance is increased.
- /// - The `_id` argument MUST be the token type being transferred.
- /// - The `_value` argument MUST be the number of tokens the holder balance is decreased by and match what the recipient balance is increased by.
- /// - When minting/creating tokens, the `_from` argument MUST be set to `0x0` (i.e. zero address).
- /// - When burning/destroying tokens, the `_to` argument MUST be set to `0x0` (i.e. zero address).
- event TransferSingle(
- address indexed _operator, address indexed _from, address indexed _to, uint256 _id, uint256 _value
- );
-
- /// @dev
- /// - Either `TransferSingle` or `TransferBatch` MUST emit when tokens are transferred, including zero value transfers as well as minting or burning (see "Safe Transfer Rules" section of the standard).
- /// - The `_operator` argument MUST be the address of an account/contract that is approved to make the transfer (SHOULD be msg.sender).
- /// - The `_from` argument MUST be the address of the holder whose balance is decreased.
- /// - The `_to` argument MUST be the address of the recipient whose balance is increased.
- /// - The `_ids` argument MUST be the list of tokens being transferred.
- /// - The `_values` argument MUST be the list of number of tokens (matching the list and order of tokens specified in _ids) the holder balance is decreased by and match what the recipient balance is increased by.
- /// - When minting/creating tokens, the `_from` argument MUST be set to `0x0` (i.e. zero address).
- /// - When burning/destroying tokens, the `_to` argument MUST be set to `0x0` (i.e. zero address).
- event TransferBatch(
- address indexed _operator, address indexed _from, address indexed _to, uint256[] _ids, uint256[] _values
- );
-
- /// @dev MUST emit when approval for a second party/operator address to manage all tokens for an owner address is enabled or disabled (absence of an event assumes disabled).
- event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
-
- /// @dev MUST emit when the URI is updated for a token ID. URIs are defined in RFC 3986.
- /// The URI MUST point to a JSON file that conforms to the "ERC-1155 Metadata URI JSON Schema".
- event URI(string _value, uint256 indexed _id);
-
- /// @notice Transfers `_value` amount of an `_id` from the `_from` address to the `_to` address specified (with safety call).
- /// @dev Caller must be approved to manage the tokens being transferred out of the `_from` account (see "Approval" section of the standard).
- /// - MUST revert if `_to` is the zero address.
- /// - MUST revert if balance of holder for token `_id` is lower than the `_value` sent.
- /// - MUST revert on any other error.
- /// - MUST emit the `TransferSingle` event to reflect the balance change (see "Safe Transfer Rules" section of the standard).
- /// - After the above conditions are met, this function MUST check if `_to` is a smart contract (e.g. code size > 0). If so, it MUST call `onERC1155Received` on `_to` and act appropriately (see "Safe Transfer Rules" section of the standard).
- /// @param _from Source address
- /// @param _to Target address
- /// @param _id ID of the token type
- /// @param _value Transfer amount
- /// @param _data Additional data with no specified format, MUST be sent unaltered in call to `onERC1155Received` on `_to`
- function safeTransferFrom(address _from, address _to, uint256 _id, uint256 _value, bytes calldata _data) external;
-
- /// @notice Transfers `_values` amount(s) of `_ids` from the `_from` address to the `_to` address specified (with safety call).
- /// @dev Caller must be approved to manage the tokens being transferred out of the `_from` account (see "Approval" section of the standard).
- /// - MUST revert if `_to` is the zero address.
- /// - MUST revert if length of `_ids` is not the same as length of `_values`.
- /// - MUST revert if any of the balance(s) of the holder(s) for token(s) in `_ids` is lower than the respective amount(s) in `_values` sent to the recipient.
- /// - MUST revert on any other error.
- /// - MUST emit `TransferSingle` or `TransferBatch` event(s) such that all the balance changes are reflected (see "Safe Transfer Rules" section of the standard).
- /// - Balance changes and events MUST follow the ordering of the arrays (_ids[0]/_values[0] before _ids[1]/_values[1], etc).
- /// - After the above conditions for the transfer(s) in the batch are met, this function MUST check if `_to` is a smart contract (e.g. code size > 0). If so, it MUST call the relevant `ERC1155TokenReceiver` hook(s) on `_to` and act appropriately (see "Safe Transfer Rules" section of the standard).
- /// @param _from Source address
- /// @param _to Target address
- /// @param _ids IDs of each token type (order and length must match _values array)
- /// @param _values Transfer amounts per token type (order and length must match _ids array)
- /// @param _data Additional data with no specified format, MUST be sent unaltered in call to the `ERC1155TokenReceiver` hook(s) on `_to`
- function safeBatchTransferFrom(
- address _from,
- address _to,
- uint256[] calldata _ids,
- uint256[] calldata _values,
- bytes calldata _data
- ) external;
-
- /// @notice Get the balance of an account's tokens.
- /// @param _owner The address of the token holder
- /// @param _id ID of the token
- /// @return The _owner's balance of the token type requested
- function balanceOf(address _owner, uint256 _id) external view returns (uint256);
-
- /// @notice Get the balance of multiple account/token pairs
- /// @param _owners The addresses of the token holders
- /// @param _ids ID of the tokens
- /// @return The _owner's balance of the token types requested (i.e. balance for each (owner, id) pair)
- function balanceOfBatch(address[] calldata _owners, uint256[] calldata _ids)
- external
- view
- returns (uint256[] memory);
-
- /// @notice Enable or disable approval for a third party ("operator") to manage all of the caller's tokens.
- /// @dev MUST emit the ApprovalForAll event on success.
- /// @param _operator Address to add to the set of authorized operators
- /// @param _approved True if the operator is approved, false to revoke approval
- function setApprovalForAll(address _operator, bool _approved) external;
-
- /// @notice Queries the approval status of an operator for a given owner.
- /// @param _owner The owner of the tokens
- /// @param _operator Address of authorized operator
- /// @return True if the operator is approved, false if not
- function isApprovedForAll(address _owner, address _operator) external view returns (bool);
-}
diff --git a/lib/forge-std/src/interfaces/IERC165.sol b/lib/forge-std/src/interfaces/IERC165.sol
deleted file mode 100644
index 9af4bf8..0000000
--- a/lib/forge-std/src/interfaces/IERC165.sol
+++ /dev/null
@@ -1,12 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2;
-
-interface IERC165 {
- /// @notice Query if a contract implements an interface
- /// @param interfaceID The interface identifier, as specified in ERC-165
- /// @dev Interface identification is specified in ERC-165. This function
- /// uses less than 30,000 gas.
- /// @return `true` if the contract implements `interfaceID` and
- /// `interfaceID` is not 0xffffffff, `false` otherwise
- function supportsInterface(bytes4 interfaceID) external view returns (bool);
-}
diff --git a/lib/forge-std/src/interfaces/IERC20.sol b/lib/forge-std/src/interfaces/IERC20.sol
deleted file mode 100644
index ba40806..0000000
--- a/lib/forge-std/src/interfaces/IERC20.sol
+++ /dev/null
@@ -1,43 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2;
-
-/// @dev Interface of the ERC20 standard as defined in the EIP.
-/// @dev This includes the optional name, symbol, and decimals metadata.
-interface IERC20 {
- /// @dev Emitted when `value` tokens are moved from one account (`from`) to another (`to`).
- event Transfer(address indexed from, address indexed to, uint256 value);
-
- /// @dev Emitted when the allowance of a `spender` for an `owner` is set, where `value`
- /// is the new allowance.
- event Approval(address indexed owner, address indexed spender, uint256 value);
-
- /// @notice Returns the amount of tokens in existence.
- function totalSupply() external view returns (uint256);
-
- /// @notice Returns the amount of tokens owned by `account`.
- function balanceOf(address account) external view returns (uint256);
-
- /// @notice Moves `amount` tokens from the caller's account to `to`.
- function transfer(address to, uint256 amount) external returns (bool);
-
- /// @notice Returns the remaining number of tokens that `spender` is allowed
- /// to spend on behalf of `owner`
- function allowance(address owner, address spender) external view returns (uint256);
-
- /// @notice Sets `amount` as the allowance of `spender` over the caller's tokens.
- /// @dev Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
- function approve(address spender, uint256 amount) external returns (bool);
-
- /// @notice Moves `amount` tokens from `from` to `to` using the allowance mechanism.
- /// `amount` is then deducted from the caller's allowance.
- function transferFrom(address from, address to, uint256 amount) external returns (bool);
-
- /// @notice Returns the name of the token.
- function name() external view returns (string memory);
-
- /// @notice Returns the symbol of the token.
- function symbol() external view returns (string memory);
-
- /// @notice Returns the decimals places of the token.
- function decimals() external view returns (uint8);
-}
diff --git a/lib/forge-std/src/interfaces/IERC4626.sol b/lib/forge-std/src/interfaces/IERC4626.sol
deleted file mode 100644
index bfe3a11..0000000
--- a/lib/forge-std/src/interfaces/IERC4626.sol
+++ /dev/null
@@ -1,190 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2;
-
-import "./IERC20.sol";
-
-/// @dev Interface of the ERC4626 "Tokenized Vault Standard", as defined in
-/// https://eips.ethereum.org/EIPS/eip-4626
-interface IERC4626 is IERC20 {
- event Deposit(address indexed sender, address indexed owner, uint256 assets, uint256 shares);
-
- event Withdraw(
- address indexed sender, address indexed receiver, address indexed owner, uint256 assets, uint256 shares
- );
-
- /// @notice Returns the address of the underlying token used for the Vault for accounting, depositing, and withdrawing.
- /// @dev
- /// - MUST be an ERC-20 token contract.
- /// - MUST NOT revert.
- function asset() external view returns (address assetTokenAddress);
-
- /// @notice Returns the total amount of the underlying asset that is “managed” by Vault.
- /// @dev
- /// - SHOULD include any compounding that occurs from yield.
- /// - MUST be inclusive of any fees that are charged against assets in the Vault.
- /// - MUST NOT revert.
- function totalAssets() external view returns (uint256 totalManagedAssets);
-
- /// @notice Returns the amount of shares that the Vault would exchange for the amount of assets provided, in an ideal
- /// scenario where all the conditions are met.
- /// @dev
- /// - MUST NOT be inclusive of any fees that are charged against assets in the Vault.
- /// - MUST NOT show any variations depending on the caller.
- /// - MUST NOT reflect slippage or other on-chain conditions, when performing the actual exchange.
- /// - MUST NOT revert.
- ///
- /// NOTE: This calculation MAY NOT reflect the “per-user” price-per-share, and instead should reflect the
- /// “average-user’s” price-per-share, meaning what the average user should expect to see when exchanging to and
- /// from.
- function convertToShares(uint256 assets) external view returns (uint256 shares);
-
- /// @notice Returns the amount of assets that the Vault would exchange for the amount of shares provided, in an ideal
- /// scenario where all the conditions are met.
- /// @dev
- /// - MUST NOT be inclusive of any fees that are charged against assets in the Vault.
- /// - MUST NOT show any variations depending on the caller.
- /// - MUST NOT reflect slippage or other on-chain conditions, when performing the actual exchange.
- /// - MUST NOT revert.
- ///
- /// NOTE: This calculation MAY NOT reflect the “per-user” price-per-share, and instead should reflect the
- /// “average-user’s” price-per-share, meaning what the average user should expect to see when exchanging to and
- /// from.
- function convertToAssets(uint256 shares) external view returns (uint256 assets);
-
- /// @notice Returns the maximum amount of the underlying asset that can be deposited into the Vault for the receiver,
- /// through a deposit call.
- /// @dev
- /// - MUST return a limited value if receiver is subject to some deposit limit.
- /// - MUST return 2 ** 256 - 1 if there is no limit on the maximum amount of assets that may be deposited.
- /// - MUST NOT revert.
- function maxDeposit(address receiver) external view returns (uint256 maxAssets);
-
- /// @notice Allows an on-chain or off-chain user to simulate the effects of their deposit at the current block, given
- /// current on-chain conditions.
- /// @dev
- /// - MUST return as close to and no more than the exact amount of Vault shares that would be minted in a deposit
- /// call in the same transaction. I.e. deposit should return the same or more shares as previewDeposit if called
- /// in the same transaction.
- /// - MUST NOT account for deposit limits like those returned from maxDeposit and should always act as though the
- /// deposit would be accepted, regardless if the user has enough tokens approved, etc.
- /// - MUST be inclusive of deposit fees. Integrators should be aware of the existence of deposit fees.
- /// - MUST NOT revert.
- ///
- /// NOTE: any unfavorable discrepancy between convertToShares and previewDeposit SHOULD be considered slippage in
- /// share price or some other type of condition, meaning the depositor will lose assets by depositing.
- function previewDeposit(uint256 assets) external view returns (uint256 shares);
-
- /// @notice Mints shares Vault shares to receiver by depositing exactly amount of underlying tokens.
- /// @dev
- /// - MUST emit the Deposit event.
- /// - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the
- /// deposit execution, and are accounted for during deposit.
- /// - MUST revert if all of assets cannot be deposited (due to deposit limit being reached, slippage, the user not
- /// approving enough underlying tokens to the Vault contract, etc).
- ///
- /// NOTE: most implementations will require pre-approval of the Vault with the Vault’s underlying asset token.
- function deposit(uint256 assets, address receiver) external returns (uint256 shares);
-
- /// @notice Returns the maximum amount of the Vault shares that can be minted for the receiver, through a mint call.
- /// @dev
- /// - MUST return a limited value if receiver is subject to some mint limit.
- /// - MUST return 2 ** 256 - 1 if there is no limit on the maximum amount of shares that may be minted.
- /// - MUST NOT revert.
- function maxMint(address receiver) external view returns (uint256 maxShares);
-
- /// @notice Allows an on-chain or off-chain user to simulate the effects of their mint at the current block, given
- /// current on-chain conditions.
- /// @dev
- /// - MUST return as close to and no fewer than the exact amount of assets that would be deposited in a mint call
- /// in the same transaction. I.e. mint should return the same or fewer assets as previewMint if called in the
- /// same transaction.
- /// - MUST NOT account for mint limits like those returned from maxMint and should always act as though the mint
- /// would be accepted, regardless if the user has enough tokens approved, etc.
- /// - MUST be inclusive of deposit fees. Integrators should be aware of the existence of deposit fees.
- /// - MUST NOT revert.
- ///
- /// NOTE: any unfavorable discrepancy between convertToAssets and previewMint SHOULD be considered slippage in
- /// share price or some other type of condition, meaning the depositor will lose assets by minting.
- function previewMint(uint256 shares) external view returns (uint256 assets);
-
- /// @notice Mints exactly shares Vault shares to receiver by depositing amount of underlying tokens.
- /// @dev
- /// - MUST emit the Deposit event.
- /// - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the mint
- /// execution, and are accounted for during mint.
- /// - MUST revert if all of shares cannot be minted (due to deposit limit being reached, slippage, the user not
- /// approving enough underlying tokens to the Vault contract, etc).
- ///
- /// NOTE: most implementations will require pre-approval of the Vault with the Vault’s underlying asset token.
- function mint(uint256 shares, address receiver) external returns (uint256 assets);
-
- /// @notice Returns the maximum amount of the underlying asset that can be withdrawn from the owner balance in the
- /// Vault, through a withdraw call.
- /// @dev
- /// - MUST return a limited value if owner is subject to some withdrawal limit or timelock.
- /// - MUST NOT revert.
- function maxWithdraw(address owner) external view returns (uint256 maxAssets);
-
- /// @notice Allows an on-chain or off-chain user to simulate the effects of their withdrawal at the current block,
- /// given current on-chain conditions.
- /// @dev
- /// - MUST return as close to and no fewer than the exact amount of Vault shares that would be burned in a withdraw
- /// call in the same transaction. I.e. withdraw should return the same or fewer shares as previewWithdraw if
- /// called
- /// in the same transaction.
- /// - MUST NOT account for withdrawal limits like those returned from maxWithdraw and should always act as though
- /// the withdrawal would be accepted, regardless if the user has enough shares, etc.
- /// - MUST be inclusive of withdrawal fees. Integrators should be aware of the existence of withdrawal fees.
- /// - MUST NOT revert.
- ///
- /// NOTE: any unfavorable discrepancy between convertToShares and previewWithdraw SHOULD be considered slippage in
- /// share price or some other type of condition, meaning the depositor will lose assets by depositing.
- function previewWithdraw(uint256 assets) external view returns (uint256 shares);
-
- /// @notice Burns shares from owner and sends exactly assets of underlying tokens to receiver.
- /// @dev
- /// - MUST emit the Withdraw event.
- /// - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the
- /// withdraw execution, and are accounted for during withdraw.
- /// - MUST revert if all of assets cannot be withdrawn (due to withdrawal limit being reached, slippage, the owner
- /// not having enough shares, etc).
- ///
- /// Note that some implementations will require pre-requesting to the Vault before a withdrawal may be performed.
- /// Those methods should be performed separately.
- function withdraw(uint256 assets, address receiver, address owner) external returns (uint256 shares);
-
- /// @notice Returns the maximum amount of Vault shares that can be redeemed from the owner balance in the Vault,
- /// through a redeem call.
- /// @dev
- /// - MUST return a limited value if owner is subject to some withdrawal limit or timelock.
- /// - MUST return balanceOf(owner) if owner is not subject to any withdrawal limit or timelock.
- /// - MUST NOT revert.
- function maxRedeem(address owner) external view returns (uint256 maxShares);
-
- /// @notice Allows an on-chain or off-chain user to simulate the effects of their redeemption at the current block,
- /// given current on-chain conditions.
- /// @dev
- /// - MUST return as close to and no more than the exact amount of assets that would be withdrawn in a redeem call
- /// in the same transaction. I.e. redeem should return the same or more assets as previewRedeem if called in the
- /// same transaction.
- /// - MUST NOT account for redemption limits like those returned from maxRedeem and should always act as though the
- /// redemption would be accepted, regardless if the user has enough shares, etc.
- /// - MUST be inclusive of withdrawal fees. Integrators should be aware of the existence of withdrawal fees.
- /// - MUST NOT revert.
- ///
- /// NOTE: any unfavorable discrepancy between convertToAssets and previewRedeem SHOULD be considered slippage in
- /// share price or some other type of condition, meaning the depositor will lose assets by redeeming.
- function previewRedeem(uint256 shares) external view returns (uint256 assets);
-
- /// @notice Burns exactly shares from owner and sends assets of underlying tokens to receiver.
- /// @dev
- /// - MUST emit the Withdraw event.
- /// - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the
- /// redeem execution, and are accounted for during redeem.
- /// - MUST revert if all of shares cannot be redeemed (due to withdrawal limit being reached, slippage, the owner
- /// not having enough shares, etc).
- ///
- /// NOTE: some implementations will require pre-requesting to the Vault before a withdrawal may be performed.
- /// Those methods should be performed separately.
- function redeem(uint256 shares, address receiver, address owner) external returns (uint256 assets);
-}
diff --git a/lib/forge-std/src/interfaces/IERC721.sol b/lib/forge-std/src/interfaces/IERC721.sol
deleted file mode 100644
index 0a16f45..0000000
--- a/lib/forge-std/src/interfaces/IERC721.sol
+++ /dev/null
@@ -1,164 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2;
-
-import "./IERC165.sol";
-
-/// @title ERC-721 Non-Fungible Token Standard
-/// @dev See https://eips.ethereum.org/EIPS/eip-721
-/// Note: the ERC-165 identifier for this interface is 0x80ac58cd.
-interface IERC721 is IERC165 {
- /// @dev This emits when ownership of any NFT changes by any mechanism.
- /// This event emits when NFTs are created (`from` == 0) and destroyed
- /// (`to` == 0). Exception: during contract creation, any number of NFTs
- /// may be created and assigned without emitting Transfer. At the time of
- /// any transfer, the approved address for that NFT (if any) is reset to none.
- event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
-
- /// @dev This emits when the approved address for an NFT is changed or
- /// reaffirmed. The zero address indicates there is no approved address.
- /// When a Transfer event emits, this also indicates that the approved
- /// address for that NFT (if any) is reset to none.
- event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
-
- /// @dev This emits when an operator is enabled or disabled for an owner.
- /// The operator can manage all NFTs of the owner.
- event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
-
- /// @notice Count all NFTs assigned to an owner
- /// @dev NFTs assigned to the zero address are considered invalid, and this
- /// function throws for queries about the zero address.
- /// @param _owner An address for whom to query the balance
- /// @return The number of NFTs owned by `_owner`, possibly zero
- function balanceOf(address _owner) external view returns (uint256);
-
- /// @notice Find the owner of an NFT
- /// @dev NFTs assigned to zero address are considered invalid, and queries
- /// about them do throw.
- /// @param _tokenId The identifier for an NFT
- /// @return The address of the owner of the NFT
- function ownerOf(uint256 _tokenId) external view returns (address);
-
- /// @notice Transfers the ownership of an NFT from one address to another address
- /// @dev Throws unless `msg.sender` is the current owner, an authorized
- /// operator, or the approved address for this NFT. Throws if `_from` is
- /// not the current owner. Throws if `_to` is the zero address. Throws if
- /// `_tokenId` is not a valid NFT. When transfer is complete, this function
- /// checks if `_to` is a smart contract (code size > 0). If so, it calls
- /// `onERC721Received` on `_to` and throws if the return value is not
- /// `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`.
- /// @param _from The current owner of the NFT
- /// @param _to The new owner
- /// @param _tokenId The NFT to transfer
- /// @param data Additional data with no specified format, sent in call to `_to`
- function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes calldata data) external payable;
-
- /// @notice Transfers the ownership of an NFT from one address to another address
- /// @dev This works identically to the other function with an extra data parameter,
- /// except this function just sets data to "".
- /// @param _from The current owner of the NFT
- /// @param _to The new owner
- /// @param _tokenId The NFT to transfer
- function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;
-
- /// @notice Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE
- /// TO CONFIRM THAT `_to` IS CAPABLE OF RECEIVING NFTS OR ELSE
- /// THEY MAY BE PERMANENTLY LOST
- /// @dev Throws unless `msg.sender` is the current owner, an authorized
- /// operator, or the approved address for this NFT. Throws if `_from` is
- /// not the current owner. Throws if `_to` is the zero address. Throws if
- /// `_tokenId` is not a valid NFT.
- /// @param _from The current owner of the NFT
- /// @param _to The new owner
- /// @param _tokenId The NFT to transfer
- function transferFrom(address _from, address _to, uint256 _tokenId) external payable;
-
- /// @notice Change or reaffirm the approved address for an NFT
- /// @dev The zero address indicates there is no approved address.
- /// Throws unless `msg.sender` is the current NFT owner, or an authorized
- /// operator of the current owner.
- /// @param _approved The new approved NFT controller
- /// @param _tokenId The NFT to approve
- function approve(address _approved, uint256 _tokenId) external payable;
-
- /// @notice Enable or disable approval for a third party ("operator") to manage
- /// all of `msg.sender`'s assets
- /// @dev Emits the ApprovalForAll event. The contract MUST allow
- /// multiple operators per owner.
- /// @param _operator Address to add to the set of authorized operators
- /// @param _approved True if the operator is approved, false to revoke approval
- function setApprovalForAll(address _operator, bool _approved) external;
-
- /// @notice Get the approved address for a single NFT
- /// @dev Throws if `_tokenId` is not a valid NFT.
- /// @param _tokenId The NFT to find the approved address for
- /// @return The approved address for this NFT, or the zero address if there is none
- function getApproved(uint256 _tokenId) external view returns (address);
-
- /// @notice Query if an address is an authorized operator for another address
- /// @param _owner The address that owns the NFTs
- /// @param _operator The address that acts on behalf of the owner
- /// @return True if `_operator` is an approved operator for `_owner`, false otherwise
- function isApprovedForAll(address _owner, address _operator) external view returns (bool);
-}
-
-/// @dev Note: the ERC-165 identifier for this interface is 0x150b7a02.
-interface IERC721TokenReceiver {
- /// @notice Handle the receipt of an NFT
- /// @dev The ERC721 smart contract calls this function on the recipient
- /// after a `transfer`. This function MAY throw to revert and reject the
- /// transfer. Return of other than the magic value MUST result in the
- /// transaction being reverted.
- /// Note: the contract address is always the message sender.
- /// @param _operator The address which called `safeTransferFrom` function
- /// @param _from The address which previously owned the token
- /// @param _tokenId The NFT identifier which is being transferred
- /// @param _data Additional data with no specified format
- /// @return `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`
- /// unless throwing
- function onERC721Received(address _operator, address _from, uint256 _tokenId, bytes calldata _data)
- external
- returns (bytes4);
-}
-
-/// @title ERC-721 Non-Fungible Token Standard, optional metadata extension
-/// @dev See https://eips.ethereum.org/EIPS/eip-721
-/// Note: the ERC-165 identifier for this interface is 0x5b5e139f.
-interface IERC721Metadata is IERC721 {
- /// @notice A descriptive name for a collection of NFTs in this contract
- function name() external view returns (string memory _name);
-
- /// @notice An abbreviated name for NFTs in this contract
- function symbol() external view returns (string memory _symbol);
-
- /// @notice A distinct Uniform Resource Identifier (URI) for a given asset.
- /// @dev Throws if `_tokenId` is not a valid NFT. URIs are defined in RFC
- /// 3986. The URI may point to a JSON file that conforms to the "ERC721
- /// Metadata JSON Schema".
- function tokenURI(uint256 _tokenId) external view returns (string memory);
-}
-
-/// @title ERC-721 Non-Fungible Token Standard, optional enumeration extension
-/// @dev See https://eips.ethereum.org/EIPS/eip-721
-/// Note: the ERC-165 identifier for this interface is 0x780e9d63.
-interface IERC721Enumerable is IERC721 {
- /// @notice Count NFTs tracked by this contract
- /// @return A count of valid NFTs tracked by this contract, where each one of
- /// them has an assigned and queryable owner not equal to the zero address
- function totalSupply() external view returns (uint256);
-
- /// @notice Enumerate valid NFTs
- /// @dev Throws if `_index` >= `totalSupply()`.
- /// @param _index A counter less than `totalSupply()`
- /// @return The token identifier for the `_index`th NFT,
- /// (sort order not specified)
- function tokenByIndex(uint256 _index) external view returns (uint256);
-
- /// @notice Enumerate NFTs assigned to an owner
- /// @dev Throws if `_index` >= `balanceOf(_owner)` or if
- /// `_owner` is the zero address, representing invalid NFTs.
- /// @param _owner An address where we are interested in NFTs owned by them
- /// @param _index A counter less than `balanceOf(_owner)`
- /// @return The token identifier for the `_index`th NFT assigned to `_owner`,
- /// (sort order not specified)
- function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256);
-}
diff --git a/lib/forge-std/src/interfaces/IMulticall3.sol b/lib/forge-std/src/interfaces/IMulticall3.sol
deleted file mode 100644
index 0d031b7..0000000
--- a/lib/forge-std/src/interfaces/IMulticall3.sol
+++ /dev/null
@@ -1,73 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2 <0.9.0;
-
-pragma experimental ABIEncoderV2;
-
-interface IMulticall3 {
- struct Call {
- address target;
- bytes callData;
- }
-
- struct Call3 {
- address target;
- bool allowFailure;
- bytes callData;
- }
-
- struct Call3Value {
- address target;
- bool allowFailure;
- uint256 value;
- bytes callData;
- }
-
- struct Result {
- bool success;
- bytes returnData;
- }
-
- function aggregate(Call[] calldata calls)
- external
- payable
- returns (uint256 blockNumber, bytes[] memory returnData);
-
- function aggregate3(Call3[] calldata calls) external payable returns (Result[] memory returnData);
-
- function aggregate3Value(Call3Value[] calldata calls) external payable returns (Result[] memory returnData);
-
- function blockAndAggregate(Call[] calldata calls)
- external
- payable
- returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);
-
- function getBasefee() external view returns (uint256 basefee);
-
- function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash);
-
- function getBlockNumber() external view returns (uint256 blockNumber);
-
- function getChainId() external view returns (uint256 chainid);
-
- function getCurrentBlockCoinbase() external view returns (address coinbase);
-
- function getCurrentBlockDifficulty() external view returns (uint256 difficulty);
-
- function getCurrentBlockGasLimit() external view returns (uint256 gaslimit);
-
- function getCurrentBlockTimestamp() external view returns (uint256 timestamp);
-
- function getEthBalance(address addr) external view returns (uint256 balance);
-
- function getLastBlockHash() external view returns (bytes32 blockHash);
-
- function tryAggregate(bool requireSuccess, Call[] calldata calls)
- external
- payable
- returns (Result[] memory returnData);
-
- function tryBlockAndAggregate(bool requireSuccess, Call[] calldata calls)
- external
- payable
- returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);
-}
diff --git a/lib/forge-std/src/safeconsole.sol b/lib/forge-std/src/safeconsole.sol
deleted file mode 100644
index 5714d09..0000000
--- a/lib/forge-std/src/safeconsole.sol
+++ /dev/null
@@ -1,13248 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2 <0.9.0;
-
-/// @author philogy
-/// @dev Code generated automatically by script.
-library safeconsole {
- uint256 constant CONSOLE_ADDR = 0x000000000000000000000000000000000000000000636F6e736F6c652e6c6f67;
-
- // Credit to [0age](https://twitter.com/z0age/status/1654922202930888704) and [0xdapper](https://github.com/foundry-rs/forge-std/pull/374)
- // for the view-to-pure log trick.
- function _sendLogPayload(uint256 offset, uint256 size) private pure {
- function(uint256, uint256) internal view fnIn = _sendLogPayloadView;
- function(uint256, uint256) internal pure pureSendLogPayload;
- assembly {
- pureSendLogPayload := fnIn
- }
- pureSendLogPayload(offset, size);
- }
-
- function _sendLogPayloadView(uint256 offset, uint256 size) private view {
- assembly {
- pop(staticcall(gas(), CONSOLE_ADDR, offset, size, 0x0, 0x0))
- }
- }
-
- function _memcopy(uint256 fromOffset, uint256 toOffset, uint256 length) private pure {
- function(uint256, uint256, uint256) internal view fnIn = _memcopyView;
- function(uint256, uint256, uint256) internal pure pureMemcopy;
- assembly {
- pureMemcopy := fnIn
- }
- pureMemcopy(fromOffset, toOffset, length);
- }
-
- function _memcopyView(uint256 fromOffset, uint256 toOffset, uint256 length) private view {
- assembly {
- pop(staticcall(gas(), 0x4, fromOffset, length, toOffset, length))
- }
- }
-
- function logMemory(uint256 offset, uint256 length) internal pure {
- if (offset >= 0x60) {
- // Sufficient memory before slice to prepare call header.
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- assembly {
- m0 := mload(sub(offset, 0x60))
- m1 := mload(sub(offset, 0x40))
- m2 := mload(sub(offset, 0x20))
- // Selector of `logBytes(bytes)`.
- mstore(sub(offset, 0x60), 0xe17bf956)
- mstore(sub(offset, 0x40), 0x20)
- mstore(sub(offset, 0x20), length)
- }
- _sendLogPayload(offset - 0x44, length + 0x44);
- assembly {
- mstore(sub(offset, 0x60), m0)
- mstore(sub(offset, 0x40), m1)
- mstore(sub(offset, 0x20), m2)
- }
- } else {
- // Insufficient space, so copy slice forward, add header and reverse.
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- uint256 endOffset = offset + length;
- assembly {
- m0 := mload(add(endOffset, 0x00))
- m1 := mload(add(endOffset, 0x20))
- m2 := mload(add(endOffset, 0x40))
- }
- _memcopy(offset, offset + 0x60, length);
- assembly {
- // Selector of `logBytes(bytes)`.
- mstore(add(offset, 0x00), 0xe17bf956)
- mstore(add(offset, 0x20), 0x20)
- mstore(add(offset, 0x40), length)
- }
- _sendLogPayload(offset + 0x1c, length + 0x44);
- _memcopy(offset + 0x60, offset, length);
- assembly {
- mstore(add(endOffset, 0x00), m0)
- mstore(add(endOffset, 0x20), m1)
- mstore(add(endOffset, 0x40), m2)
- }
- }
- }
-
- function log(address p0) internal pure {
- bytes32 m0;
- bytes32 m1;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- // Selector of `log(address)`.
- mstore(0x00, 0x2c2ecbc2)
- mstore(0x20, p0)
- }
- _sendLogPayload(0x1c, 0x24);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- }
- }
-
- function log(bool p0) internal pure {
- bytes32 m0;
- bytes32 m1;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- // Selector of `log(bool)`.
- mstore(0x00, 0x32458eed)
- mstore(0x20, p0)
- }
- _sendLogPayload(0x1c, 0x24);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- }
- }
-
- function log(uint256 p0) internal pure {
- bytes32 m0;
- bytes32 m1;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- // Selector of `log(uint256)`.
- mstore(0x00, 0xf82c50f1)
- mstore(0x20, p0)
- }
- _sendLogPayload(0x1c, 0x24);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- }
- }
-
- function log(bytes32 p0) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(string)`.
- mstore(0x00, 0x41304fac)
- mstore(0x20, 0x20)
- writeString(0x40, p0)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(address p0, address p1) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- // Selector of `log(address,address)`.
- mstore(0x00, 0xdaf0d4aa)
- mstore(0x20, p0)
- mstore(0x40, p1)
- }
- _sendLogPayload(0x1c, 0x44);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- }
- }
-
- function log(address p0, bool p1) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- // Selector of `log(address,bool)`.
- mstore(0x00, 0x75b605d3)
- mstore(0x20, p0)
- mstore(0x40, p1)
- }
- _sendLogPayload(0x1c, 0x44);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- }
- }
-
- function log(address p0, uint256 p1) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- // Selector of `log(address,uint256)`.
- mstore(0x00, 0x8309e8a8)
- mstore(0x20, p0)
- mstore(0x40, p1)
- }
- _sendLogPayload(0x1c, 0x44);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- }
- }
-
- function log(address p0, bytes32 p1) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,string)`.
- mstore(0x00, 0x759f86bb)
- mstore(0x20, p0)
- mstore(0x40, 0x40)
- writeString(0x60, p1)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, address p1) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- // Selector of `log(bool,address)`.
- mstore(0x00, 0x853c4849)
- mstore(0x20, p0)
- mstore(0x40, p1)
- }
- _sendLogPayload(0x1c, 0x44);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- }
- }
-
- function log(bool p0, bool p1) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- // Selector of `log(bool,bool)`.
- mstore(0x00, 0x2a110e83)
- mstore(0x20, p0)
- mstore(0x40, p1)
- }
- _sendLogPayload(0x1c, 0x44);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- }
- }
-
- function log(bool p0, uint256 p1) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- // Selector of `log(bool,uint256)`.
- mstore(0x00, 0x399174d3)
- mstore(0x20, p0)
- mstore(0x40, p1)
- }
- _sendLogPayload(0x1c, 0x44);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- }
- }
-
- function log(bool p0, bytes32 p1) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,string)`.
- mstore(0x00, 0x8feac525)
- mstore(0x20, p0)
- mstore(0x40, 0x40)
- writeString(0x60, p1)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, address p1) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- // Selector of `log(uint256,address)`.
- mstore(0x00, 0x69276c86)
- mstore(0x20, p0)
- mstore(0x40, p1)
- }
- _sendLogPayload(0x1c, 0x44);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- }
- }
-
- function log(uint256 p0, bool p1) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- // Selector of `log(uint256,bool)`.
- mstore(0x00, 0x1c9d7eb3)
- mstore(0x20, p0)
- mstore(0x40, p1)
- }
- _sendLogPayload(0x1c, 0x44);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- }
- }
-
- function log(uint256 p0, uint256 p1) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- // Selector of `log(uint256,uint256)`.
- mstore(0x00, 0xf666715a)
- mstore(0x20, p0)
- mstore(0x40, p1)
- }
- _sendLogPayload(0x1c, 0x44);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- }
- }
-
- function log(uint256 p0, bytes32 p1) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,string)`.
- mstore(0x00, 0x643fd0df)
- mstore(0x20, p0)
- mstore(0x40, 0x40)
- writeString(0x60, p1)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bytes32 p0, address p1) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(string,address)`.
- mstore(0x00, 0x319af333)
- mstore(0x20, 0x40)
- mstore(0x40, p1)
- writeString(0x60, p0)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bytes32 p0, bool p1) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(string,bool)`.
- mstore(0x00, 0xc3b55635)
- mstore(0x20, 0x40)
- mstore(0x40, p1)
- writeString(0x60, p0)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bytes32 p0, uint256 p1) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(string,uint256)`.
- mstore(0x00, 0xb60e72cc)
- mstore(0x20, 0x40)
- mstore(0x40, p1)
- writeString(0x60, p0)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bytes32 p0, bytes32 p1) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,string)`.
- mstore(0x00, 0x4b5c4277)
- mstore(0x20, 0x40)
- mstore(0x40, 0x80)
- writeString(0x60, p0)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, address p1, address p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(address,address,address)`.
- mstore(0x00, 0x018c84c2)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(address p0, address p1, bool p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(address,address,bool)`.
- mstore(0x00, 0xf2a66286)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(address p0, address p1, uint256 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(address,address,uint256)`.
- mstore(0x00, 0x17fe6185)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(address p0, address p1, bytes32 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(address,address,string)`.
- mstore(0x00, 0x007150be)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x60)
- writeString(0x80, p2)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(address p0, bool p1, address p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(address,bool,address)`.
- mstore(0x00, 0xf11699ed)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(address p0, bool p1, bool p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(address,bool,bool)`.
- mstore(0x00, 0xeb830c92)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(address p0, bool p1, uint256 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(address,bool,uint256)`.
- mstore(0x00, 0x9c4f99fb)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(address p0, bool p1, bytes32 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(address,bool,string)`.
- mstore(0x00, 0x212255cc)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x60)
- writeString(0x80, p2)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(address p0, uint256 p1, address p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(address,uint256,address)`.
- mstore(0x00, 0x7bc0d848)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(address p0, uint256 p1, bool p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(address,uint256,bool)`.
- mstore(0x00, 0x678209a8)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(address p0, uint256 p1, uint256 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(address,uint256,uint256)`.
- mstore(0x00, 0xb69bcaf6)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(address p0, uint256 p1, bytes32 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(address,uint256,string)`.
- mstore(0x00, 0xa1f2e8aa)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x60)
- writeString(0x80, p2)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(address p0, bytes32 p1, address p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(address,string,address)`.
- mstore(0x00, 0xf08744e8)
- mstore(0x20, p0)
- mstore(0x40, 0x60)
- mstore(0x60, p2)
- writeString(0x80, p1)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(address p0, bytes32 p1, bool p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(address,string,bool)`.
- mstore(0x00, 0xcf020fb1)
- mstore(0x20, p0)
- mstore(0x40, 0x60)
- mstore(0x60, p2)
- writeString(0x80, p1)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(address p0, bytes32 p1, uint256 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(address,string,uint256)`.
- mstore(0x00, 0x67dd6ff1)
- mstore(0x20, p0)
- mstore(0x40, 0x60)
- mstore(0x60, p2)
- writeString(0x80, p1)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(address p0, bytes32 p1, bytes32 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- // Selector of `log(address,string,string)`.
- mstore(0x00, 0xfb772265)
- mstore(0x20, p0)
- mstore(0x40, 0x60)
- mstore(0x60, 0xa0)
- writeString(0x80, p1)
- writeString(0xc0, p2)
- }
- _sendLogPayload(0x1c, 0xe4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- }
- }
-
- function log(bool p0, address p1, address p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(bool,address,address)`.
- mstore(0x00, 0xd2763667)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(bool p0, address p1, bool p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(bool,address,bool)`.
- mstore(0x00, 0x18c9c746)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(bool p0, address p1, uint256 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(bool,address,uint256)`.
- mstore(0x00, 0x5f7b9afb)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(bool p0, address p1, bytes32 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(bool,address,string)`.
- mstore(0x00, 0xde9a9270)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x60)
- writeString(0x80, p2)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(bool p0, bool p1, address p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(bool,bool,address)`.
- mstore(0x00, 0x1078f68d)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(bool p0, bool p1, bool p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(bool,bool,bool)`.
- mstore(0x00, 0x50709698)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(bool p0, bool p1, uint256 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(bool,bool,uint256)`.
- mstore(0x00, 0x12f21602)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(bool p0, bool p1, bytes32 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(bool,bool,string)`.
- mstore(0x00, 0x2555fa46)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x60)
- writeString(0x80, p2)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(bool p0, uint256 p1, address p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(bool,uint256,address)`.
- mstore(0x00, 0x088ef9d2)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(bool p0, uint256 p1, bool p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(bool,uint256,bool)`.
- mstore(0x00, 0xe8defba9)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(bool p0, uint256 p1, uint256 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(bool,uint256,uint256)`.
- mstore(0x00, 0x37103367)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(bool p0, uint256 p1, bytes32 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(bool,uint256,string)`.
- mstore(0x00, 0xc3fc3970)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x60)
- writeString(0x80, p2)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(bool p0, bytes32 p1, address p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(bool,string,address)`.
- mstore(0x00, 0x9591b953)
- mstore(0x20, p0)
- mstore(0x40, 0x60)
- mstore(0x60, p2)
- writeString(0x80, p1)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(bool p0, bytes32 p1, bool p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(bool,string,bool)`.
- mstore(0x00, 0xdbb4c247)
- mstore(0x20, p0)
- mstore(0x40, 0x60)
- mstore(0x60, p2)
- writeString(0x80, p1)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(bool p0, bytes32 p1, uint256 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(bool,string,uint256)`.
- mstore(0x00, 0x1093ee11)
- mstore(0x20, p0)
- mstore(0x40, 0x60)
- mstore(0x60, p2)
- writeString(0x80, p1)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(bool p0, bytes32 p1, bytes32 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- // Selector of `log(bool,string,string)`.
- mstore(0x00, 0xb076847f)
- mstore(0x20, p0)
- mstore(0x40, 0x60)
- mstore(0x60, 0xa0)
- writeString(0x80, p1)
- writeString(0xc0, p2)
- }
- _sendLogPayload(0x1c, 0xe4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- }
- }
-
- function log(uint256 p0, address p1, address p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(uint256,address,address)`.
- mstore(0x00, 0xbcfd9be0)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(uint256 p0, address p1, bool p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(uint256,address,bool)`.
- mstore(0x00, 0x9b6ec042)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(uint256 p0, address p1, uint256 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(uint256,address,uint256)`.
- mstore(0x00, 0x5a9b5ed5)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(uint256 p0, address p1, bytes32 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(uint256,address,string)`.
- mstore(0x00, 0x63cb41f9)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x60)
- writeString(0x80, p2)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(uint256 p0, bool p1, address p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(uint256,bool,address)`.
- mstore(0x00, 0x35085f7b)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(uint256 p0, bool p1, bool p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(uint256,bool,bool)`.
- mstore(0x00, 0x20718650)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(uint256 p0, bool p1, uint256 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(uint256,bool,uint256)`.
- mstore(0x00, 0x20098014)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(uint256 p0, bool p1, bytes32 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(uint256,bool,string)`.
- mstore(0x00, 0x85775021)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x60)
- writeString(0x80, p2)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(uint256 p0, uint256 p1, address p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(uint256,uint256,address)`.
- mstore(0x00, 0x5c96b331)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(uint256 p0, uint256 p1, bool p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(uint256,uint256,bool)`.
- mstore(0x00, 0x4766da72)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(uint256 p0, uint256 p1, uint256 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- // Selector of `log(uint256,uint256,uint256)`.
- mstore(0x00, 0xd1ed7a3c)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- }
- _sendLogPayload(0x1c, 0x64);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- }
- }
-
- function log(uint256 p0, uint256 p1, bytes32 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(uint256,uint256,string)`.
- mstore(0x00, 0x71d04af2)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x60)
- writeString(0x80, p2)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(uint256 p0, bytes32 p1, address p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(uint256,string,address)`.
- mstore(0x00, 0x7afac959)
- mstore(0x20, p0)
- mstore(0x40, 0x60)
- mstore(0x60, p2)
- writeString(0x80, p1)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(uint256 p0, bytes32 p1, bool p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(uint256,string,bool)`.
- mstore(0x00, 0x4ceda75a)
- mstore(0x20, p0)
- mstore(0x40, 0x60)
- mstore(0x60, p2)
- writeString(0x80, p1)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(uint256 p0, bytes32 p1, uint256 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(uint256,string,uint256)`.
- mstore(0x00, 0x37aa7d4c)
- mstore(0x20, p0)
- mstore(0x40, 0x60)
- mstore(0x60, p2)
- writeString(0x80, p1)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(uint256 p0, bytes32 p1, bytes32 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- // Selector of `log(uint256,string,string)`.
- mstore(0x00, 0xb115611f)
- mstore(0x20, p0)
- mstore(0x40, 0x60)
- mstore(0x60, 0xa0)
- writeString(0x80, p1)
- writeString(0xc0, p2)
- }
- _sendLogPayload(0x1c, 0xe4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- }
- }
-
- function log(bytes32 p0, address p1, address p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(string,address,address)`.
- mstore(0x00, 0xfcec75e0)
- mstore(0x20, 0x60)
- mstore(0x40, p1)
- mstore(0x60, p2)
- writeString(0x80, p0)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(bytes32 p0, address p1, bool p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(string,address,bool)`.
- mstore(0x00, 0xc91d5ed4)
- mstore(0x20, 0x60)
- mstore(0x40, p1)
- mstore(0x60, p2)
- writeString(0x80, p0)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(bytes32 p0, address p1, uint256 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(string,address,uint256)`.
- mstore(0x00, 0x0d26b925)
- mstore(0x20, 0x60)
- mstore(0x40, p1)
- mstore(0x60, p2)
- writeString(0x80, p0)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(bytes32 p0, address p1, bytes32 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- // Selector of `log(string,address,string)`.
- mstore(0x00, 0xe0e9ad4f)
- mstore(0x20, 0x60)
- mstore(0x40, p1)
- mstore(0x60, 0xa0)
- writeString(0x80, p0)
- writeString(0xc0, p2)
- }
- _sendLogPayload(0x1c, 0xe4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- }
- }
-
- function log(bytes32 p0, bool p1, address p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(string,bool,address)`.
- mstore(0x00, 0x932bbb38)
- mstore(0x20, 0x60)
- mstore(0x40, p1)
- mstore(0x60, p2)
- writeString(0x80, p0)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(bytes32 p0, bool p1, bool p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(string,bool,bool)`.
- mstore(0x00, 0x850b7ad6)
- mstore(0x20, 0x60)
- mstore(0x40, p1)
- mstore(0x60, p2)
- writeString(0x80, p0)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(bytes32 p0, bool p1, uint256 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(string,bool,uint256)`.
- mstore(0x00, 0xc95958d6)
- mstore(0x20, 0x60)
- mstore(0x40, p1)
- mstore(0x60, p2)
- writeString(0x80, p0)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(bytes32 p0, bool p1, bytes32 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- // Selector of `log(string,bool,string)`.
- mstore(0x00, 0xe298f47d)
- mstore(0x20, 0x60)
- mstore(0x40, p1)
- mstore(0x60, 0xa0)
- writeString(0x80, p0)
- writeString(0xc0, p2)
- }
- _sendLogPayload(0x1c, 0xe4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- }
- }
-
- function log(bytes32 p0, uint256 p1, address p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(string,uint256,address)`.
- mstore(0x00, 0x1c7ec448)
- mstore(0x20, 0x60)
- mstore(0x40, p1)
- mstore(0x60, p2)
- writeString(0x80, p0)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(bytes32 p0, uint256 p1, bool p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(string,uint256,bool)`.
- mstore(0x00, 0xca7733b1)
- mstore(0x20, 0x60)
- mstore(0x40, p1)
- mstore(0x60, p2)
- writeString(0x80, p0)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(bytes32 p0, uint256 p1, uint256 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- // Selector of `log(string,uint256,uint256)`.
- mstore(0x00, 0xca47c4eb)
- mstore(0x20, 0x60)
- mstore(0x40, p1)
- mstore(0x60, p2)
- writeString(0x80, p0)
- }
- _sendLogPayload(0x1c, 0xa4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- }
- }
-
- function log(bytes32 p0, uint256 p1, bytes32 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- // Selector of `log(string,uint256,string)`.
- mstore(0x00, 0x5970e089)
- mstore(0x20, 0x60)
- mstore(0x40, p1)
- mstore(0x60, 0xa0)
- writeString(0x80, p0)
- writeString(0xc0, p2)
- }
- _sendLogPayload(0x1c, 0xe4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, address p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- // Selector of `log(string,string,address)`.
- mstore(0x00, 0x95ed0195)
- mstore(0x20, 0x60)
- mstore(0x40, 0xa0)
- mstore(0x60, p2)
- writeString(0x80, p0)
- writeString(0xc0, p1)
- }
- _sendLogPayload(0x1c, 0xe4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, bool p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- // Selector of `log(string,string,bool)`.
- mstore(0x00, 0xb0e0f9b5)
- mstore(0x20, 0x60)
- mstore(0x40, 0xa0)
- mstore(0x60, p2)
- writeString(0x80, p0)
- writeString(0xc0, p1)
- }
- _sendLogPayload(0x1c, 0xe4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, uint256 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- // Selector of `log(string,string,uint256)`.
- mstore(0x00, 0x5821efa1)
- mstore(0x20, 0x60)
- mstore(0x40, 0xa0)
- mstore(0x60, p2)
- writeString(0x80, p0)
- writeString(0xc0, p1)
- }
- _sendLogPayload(0x1c, 0xe4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, bytes32 p2) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- bytes32 m9;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- m9 := mload(0x120)
- // Selector of `log(string,string,string)`.
- mstore(0x00, 0x2ced7cef)
- mstore(0x20, 0x60)
- mstore(0x40, 0xa0)
- mstore(0x60, 0xe0)
- writeString(0x80, p0)
- writeString(0xc0, p1)
- writeString(0x100, p2)
- }
- _sendLogPayload(0x1c, 0x124);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- mstore(0x120, m9)
- }
- }
-
- function log(address p0, address p1, address p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,address,address,address)`.
- mstore(0x00, 0x665bf134)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, address p1, address p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,address,address,bool)`.
- mstore(0x00, 0x0e378994)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, address p1, address p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,address,address,uint256)`.
- mstore(0x00, 0x94250d77)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, address p1, address p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,address,address,string)`.
- mstore(0x00, 0xf808da20)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, address p1, bool p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,address,bool,address)`.
- mstore(0x00, 0x9f1bc36e)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, address p1, bool p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,address,bool,bool)`.
- mstore(0x00, 0x2cd4134a)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, address p1, bool p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,address,bool,uint256)`.
- mstore(0x00, 0x3971e78c)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, address p1, bool p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,address,bool,string)`.
- mstore(0x00, 0xaa6540c8)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, address p1, uint256 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,address,uint256,address)`.
- mstore(0x00, 0x8da6def5)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, address p1, uint256 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,address,uint256,bool)`.
- mstore(0x00, 0x9b4254e2)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, address p1, uint256 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,address,uint256,uint256)`.
- mstore(0x00, 0xbe553481)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, address p1, uint256 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,address,uint256,string)`.
- mstore(0x00, 0xfdb4f990)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, address p1, bytes32 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,address,string,address)`.
- mstore(0x00, 0x8f736d16)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, address p1, bytes32 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,address,string,bool)`.
- mstore(0x00, 0x6f1a594e)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, address p1, bytes32 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,address,string,uint256)`.
- mstore(0x00, 0xef1cefe7)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, address p1, bytes32 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(address,address,string,string)`.
- mstore(0x00, 0x21bdaf25)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, 0xc0)
- writeString(0xa0, p2)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(address p0, bool p1, address p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,bool,address,address)`.
- mstore(0x00, 0x660375dd)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, bool p1, address p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,bool,address,bool)`.
- mstore(0x00, 0xa6f50b0f)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, bool p1, address p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,bool,address,uint256)`.
- mstore(0x00, 0xa75c59de)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, bool p1, address p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,bool,address,string)`.
- mstore(0x00, 0x2dd778e6)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, bool p1, bool p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,bool,bool,address)`.
- mstore(0x00, 0xcf394485)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, bool p1, bool p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,bool,bool,bool)`.
- mstore(0x00, 0xcac43479)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, bool p1, bool p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,bool,bool,uint256)`.
- mstore(0x00, 0x8c4e5de6)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, bool p1, bool p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,bool,bool,string)`.
- mstore(0x00, 0xdfc4a2e8)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, bool p1, uint256 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,bool,uint256,address)`.
- mstore(0x00, 0xccf790a1)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, bool p1, uint256 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,bool,uint256,bool)`.
- mstore(0x00, 0xc4643e20)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, bool p1, uint256 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,bool,uint256,uint256)`.
- mstore(0x00, 0x386ff5f4)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, bool p1, uint256 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,bool,uint256,string)`.
- mstore(0x00, 0x0aa6cfad)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, bool p1, bytes32 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,bool,string,address)`.
- mstore(0x00, 0x19fd4956)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, bool p1, bytes32 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,bool,string,bool)`.
- mstore(0x00, 0x50ad461d)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, bool p1, bytes32 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,bool,string,uint256)`.
- mstore(0x00, 0x80e6a20b)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, bool p1, bytes32 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(address,bool,string,string)`.
- mstore(0x00, 0x475c5c33)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, 0xc0)
- writeString(0xa0, p2)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(address p0, uint256 p1, address p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,uint256,address,address)`.
- mstore(0x00, 0x478d1c62)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, uint256 p1, address p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,uint256,address,bool)`.
- mstore(0x00, 0xa1bcc9b3)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, uint256 p1, address p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,uint256,address,uint256)`.
- mstore(0x00, 0x100f650e)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, uint256 p1, address p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,uint256,address,string)`.
- mstore(0x00, 0x1da986ea)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, uint256 p1, bool p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,uint256,bool,address)`.
- mstore(0x00, 0xa31bfdcc)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, uint256 p1, bool p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,uint256,bool,bool)`.
- mstore(0x00, 0x3bf5e537)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, uint256 p1, bool p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,uint256,bool,uint256)`.
- mstore(0x00, 0x22f6b999)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, uint256 p1, bool p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,uint256,bool,string)`.
- mstore(0x00, 0xc5ad85f9)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, uint256 p1, uint256 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,uint256,uint256,address)`.
- mstore(0x00, 0x20e3984d)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, uint256 p1, uint256 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,uint256,uint256,bool)`.
- mstore(0x00, 0x66f1bc67)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(address,uint256,uint256,uint256)`.
- mstore(0x00, 0x34f0e636)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(address p0, uint256 p1, uint256 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,uint256,uint256,string)`.
- mstore(0x00, 0x4a28c017)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, uint256 p1, bytes32 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,uint256,string,address)`.
- mstore(0x00, 0x5c430d47)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, uint256 p1, bytes32 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,uint256,string,bool)`.
- mstore(0x00, 0xcf18105c)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, uint256 p1, bytes32 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,uint256,string,uint256)`.
- mstore(0x00, 0xbf01f891)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, uint256 p1, bytes32 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(address,uint256,string,string)`.
- mstore(0x00, 0x88a8c406)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, 0xc0)
- writeString(0xa0, p2)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(address p0, bytes32 p1, address p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,string,address,address)`.
- mstore(0x00, 0x0d36fa20)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, bytes32 p1, address p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,string,address,bool)`.
- mstore(0x00, 0x0df12b76)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, bytes32 p1, address p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,string,address,uint256)`.
- mstore(0x00, 0x457fe3cf)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, bytes32 p1, address p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(address,string,address,string)`.
- mstore(0x00, 0xf7e36245)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p1)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(address p0, bytes32 p1, bool p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,string,bool,address)`.
- mstore(0x00, 0x205871c2)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, bytes32 p1, bool p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,string,bool,bool)`.
- mstore(0x00, 0x5f1d5c9f)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, bytes32 p1, bool p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,string,bool,uint256)`.
- mstore(0x00, 0x515e38b6)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, bytes32 p1, bool p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(address,string,bool,string)`.
- mstore(0x00, 0xbc0b61fe)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p1)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(address p0, bytes32 p1, uint256 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,string,uint256,address)`.
- mstore(0x00, 0x63183678)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, bytes32 p1, uint256 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,string,uint256,bool)`.
- mstore(0x00, 0x0ef7e050)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, bytes32 p1, uint256 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(address,string,uint256,uint256)`.
- mstore(0x00, 0x1dc8e1b8)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(address p0, bytes32 p1, uint256 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(address,string,uint256,string)`.
- mstore(0x00, 0x448830a8)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p1)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(address p0, bytes32 p1, bytes32 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(address,string,string,address)`.
- mstore(0x00, 0xa04e2f87)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(address p0, bytes32 p1, bytes32 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(address,string,string,bool)`.
- mstore(0x00, 0x35a5071f)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(address p0, bytes32 p1, bytes32 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(address,string,string,uint256)`.
- mstore(0x00, 0x159f8927)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(address p0, bytes32 p1, bytes32 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- bytes32 m9;
- bytes32 m10;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- m9 := mload(0x120)
- m10 := mload(0x140)
- // Selector of `log(address,string,string,string)`.
- mstore(0x00, 0x5d02c50b)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, 0xc0)
- mstore(0x80, 0x100)
- writeString(0xa0, p1)
- writeString(0xe0, p2)
- writeString(0x120, p3)
- }
- _sendLogPayload(0x1c, 0x144);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- mstore(0x120, m9)
- mstore(0x140, m10)
- }
- }
-
- function log(bool p0, address p1, address p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,address,address,address)`.
- mstore(0x00, 0x1d14d001)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, address p1, address p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,address,address,bool)`.
- mstore(0x00, 0x46600be0)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, address p1, address p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,address,address,uint256)`.
- mstore(0x00, 0x0c66d1be)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, address p1, address p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,address,address,string)`.
- mstore(0x00, 0xd812a167)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, address p1, bool p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,address,bool,address)`.
- mstore(0x00, 0x1c41a336)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, address p1, bool p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,address,bool,bool)`.
- mstore(0x00, 0x6a9c478b)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, address p1, bool p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,address,bool,uint256)`.
- mstore(0x00, 0x07831502)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, address p1, bool p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,address,bool,string)`.
- mstore(0x00, 0x4a66cb34)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, address p1, uint256 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,address,uint256,address)`.
- mstore(0x00, 0x136b05dd)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, address p1, uint256 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,address,uint256,bool)`.
- mstore(0x00, 0xd6019f1c)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, address p1, uint256 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,address,uint256,uint256)`.
- mstore(0x00, 0x7bf181a1)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, address p1, uint256 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,address,uint256,string)`.
- mstore(0x00, 0x51f09ff8)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, address p1, bytes32 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,address,string,address)`.
- mstore(0x00, 0x6f7c603e)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, address p1, bytes32 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,address,string,bool)`.
- mstore(0x00, 0xe2bfd60b)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, address p1, bytes32 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,address,string,uint256)`.
- mstore(0x00, 0xc21f64c7)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, address p1, bytes32 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(bool,address,string,string)`.
- mstore(0x00, 0xa73c1db6)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, 0xc0)
- writeString(0xa0, p2)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bool p0, bool p1, address p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,bool,address,address)`.
- mstore(0x00, 0xf4880ea4)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, bool p1, address p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,bool,address,bool)`.
- mstore(0x00, 0xc0a302d8)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, bool p1, address p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,bool,address,uint256)`.
- mstore(0x00, 0x4c123d57)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, bool p1, address p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,bool,address,string)`.
- mstore(0x00, 0xa0a47963)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, bool p1, bool p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,bool,bool,address)`.
- mstore(0x00, 0x8c329b1a)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, bool p1, bool p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,bool,bool,bool)`.
- mstore(0x00, 0x3b2a5ce0)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, bool p1, bool p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,bool,bool,uint256)`.
- mstore(0x00, 0x6d7045c1)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, bool p1, bool p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,bool,bool,string)`.
- mstore(0x00, 0x2ae408d4)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, bool p1, uint256 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,bool,uint256,address)`.
- mstore(0x00, 0x54a7a9a0)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, bool p1, uint256 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,bool,uint256,bool)`.
- mstore(0x00, 0x619e4d0e)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, bool p1, uint256 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,bool,uint256,uint256)`.
- mstore(0x00, 0x0bb00eab)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, bool p1, uint256 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,bool,uint256,string)`.
- mstore(0x00, 0x7dd4d0e0)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, bool p1, bytes32 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,bool,string,address)`.
- mstore(0x00, 0xf9ad2b89)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, bool p1, bytes32 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,bool,string,bool)`.
- mstore(0x00, 0xb857163a)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, bool p1, bytes32 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,bool,string,uint256)`.
- mstore(0x00, 0xe3a9ca2f)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, bool p1, bytes32 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(bool,bool,string,string)`.
- mstore(0x00, 0x6d1e8751)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, 0xc0)
- writeString(0xa0, p2)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bool p0, uint256 p1, address p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,uint256,address,address)`.
- mstore(0x00, 0x26f560a8)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, uint256 p1, address p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,uint256,address,bool)`.
- mstore(0x00, 0xb4c314ff)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, uint256 p1, address p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,uint256,address,uint256)`.
- mstore(0x00, 0x1537dc87)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, uint256 p1, address p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,uint256,address,string)`.
- mstore(0x00, 0x1bb3b09a)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, uint256 p1, bool p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,uint256,bool,address)`.
- mstore(0x00, 0x9acd3616)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, uint256 p1, bool p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,uint256,bool,bool)`.
- mstore(0x00, 0xceb5f4d7)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, uint256 p1, bool p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,uint256,bool,uint256)`.
- mstore(0x00, 0x7f9bbca2)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, uint256 p1, bool p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,uint256,bool,string)`.
- mstore(0x00, 0x9143dbb1)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, uint256 p1, uint256 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,uint256,uint256,address)`.
- mstore(0x00, 0x00dd87b9)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, uint256 p1, uint256 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,uint256,uint256,bool)`.
- mstore(0x00, 0xbe984353)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(bool,uint256,uint256,uint256)`.
- mstore(0x00, 0x374bb4b2)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(bool p0, uint256 p1, uint256 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,uint256,uint256,string)`.
- mstore(0x00, 0x8e69fb5d)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, uint256 p1, bytes32 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,uint256,string,address)`.
- mstore(0x00, 0xfedd1fff)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, uint256 p1, bytes32 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,uint256,string,bool)`.
- mstore(0x00, 0xe5e70b2b)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, uint256 p1, bytes32 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,uint256,string,uint256)`.
- mstore(0x00, 0x6a1199e2)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, uint256 p1, bytes32 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(bool,uint256,string,string)`.
- mstore(0x00, 0xf5bc2249)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, 0xc0)
- writeString(0xa0, p2)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bool p0, bytes32 p1, address p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,string,address,address)`.
- mstore(0x00, 0x2b2b18dc)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, bytes32 p1, address p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,string,address,bool)`.
- mstore(0x00, 0x6dd434ca)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, bytes32 p1, address p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,string,address,uint256)`.
- mstore(0x00, 0xa5cada94)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, bytes32 p1, address p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(bool,string,address,string)`.
- mstore(0x00, 0x12d6c788)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p1)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bool p0, bytes32 p1, bool p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,string,bool,address)`.
- mstore(0x00, 0x538e06ab)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, bytes32 p1, bool p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,string,bool,bool)`.
- mstore(0x00, 0xdc5e935b)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, bytes32 p1, bool p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,string,bool,uint256)`.
- mstore(0x00, 0x1606a393)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, bytes32 p1, bool p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(bool,string,bool,string)`.
- mstore(0x00, 0x483d0416)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p1)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bool p0, bytes32 p1, uint256 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,string,uint256,address)`.
- mstore(0x00, 0x1596a1ce)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, bytes32 p1, uint256 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,string,uint256,bool)`.
- mstore(0x00, 0x6b0e5d53)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, bytes32 p1, uint256 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(bool,string,uint256,uint256)`.
- mstore(0x00, 0x28863fcb)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bool p0, bytes32 p1, uint256 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(bool,string,uint256,string)`.
- mstore(0x00, 0x1ad96de6)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p1)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bool p0, bytes32 p1, bytes32 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(bool,string,string,address)`.
- mstore(0x00, 0x97d394d8)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bool p0, bytes32 p1, bytes32 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(bool,string,string,bool)`.
- mstore(0x00, 0x1e4b87e5)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bool p0, bytes32 p1, bytes32 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(bool,string,string,uint256)`.
- mstore(0x00, 0x7be0c3eb)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bool p0, bytes32 p1, bytes32 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- bytes32 m9;
- bytes32 m10;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- m9 := mload(0x120)
- m10 := mload(0x140)
- // Selector of `log(bool,string,string,string)`.
- mstore(0x00, 0x1762e32a)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, 0xc0)
- mstore(0x80, 0x100)
- writeString(0xa0, p1)
- writeString(0xe0, p2)
- writeString(0x120, p3)
- }
- _sendLogPayload(0x1c, 0x144);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- mstore(0x120, m9)
- mstore(0x140, m10)
- }
- }
-
- function log(uint256 p0, address p1, address p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,address,address,address)`.
- mstore(0x00, 0x2488b414)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, address p1, address p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,address,address,bool)`.
- mstore(0x00, 0x091ffaf5)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, address p1, address p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,address,address,uint256)`.
- mstore(0x00, 0x736efbb6)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, address p1, address p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,address,address,string)`.
- mstore(0x00, 0x031c6f73)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, address p1, bool p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,address,bool,address)`.
- mstore(0x00, 0xef72c513)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, address p1, bool p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,address,bool,bool)`.
- mstore(0x00, 0xe351140f)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, address p1, bool p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,address,bool,uint256)`.
- mstore(0x00, 0x5abd992a)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, address p1, bool p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,address,bool,string)`.
- mstore(0x00, 0x90fb06aa)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, address p1, uint256 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,address,uint256,address)`.
- mstore(0x00, 0x15c127b5)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, address p1, uint256 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,address,uint256,bool)`.
- mstore(0x00, 0x5f743a7c)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,address,uint256,uint256)`.
- mstore(0x00, 0x0c9cd9c1)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, address p1, uint256 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,address,uint256,string)`.
- mstore(0x00, 0xddb06521)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, address p1, bytes32 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,address,string,address)`.
- mstore(0x00, 0x9cba8fff)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, address p1, bytes32 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,address,string,bool)`.
- mstore(0x00, 0xcc32ab07)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, address p1, bytes32 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,address,string,uint256)`.
- mstore(0x00, 0x46826b5d)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, address p1, bytes32 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(uint256,address,string,string)`.
- mstore(0x00, 0x3e128ca3)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, 0xc0)
- writeString(0xa0, p2)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(uint256 p0, bool p1, address p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,bool,address,address)`.
- mstore(0x00, 0xa1ef4cbb)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, bool p1, address p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,bool,address,bool)`.
- mstore(0x00, 0x454d54a5)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, bool p1, address p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,bool,address,uint256)`.
- mstore(0x00, 0x078287f5)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, bool p1, address p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,bool,address,string)`.
- mstore(0x00, 0xade052c7)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, bool p1, bool p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,bool,bool,address)`.
- mstore(0x00, 0x69640b59)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, bool p1, bool p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,bool,bool,bool)`.
- mstore(0x00, 0xb6f577a1)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, bool p1, bool p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,bool,bool,uint256)`.
- mstore(0x00, 0x7464ce23)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, bool p1, bool p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,bool,bool,string)`.
- mstore(0x00, 0xdddb9561)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, bool p1, uint256 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,bool,uint256,address)`.
- mstore(0x00, 0x88cb6041)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, bool p1, uint256 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,bool,uint256,bool)`.
- mstore(0x00, 0x91a02e2a)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,bool,uint256,uint256)`.
- mstore(0x00, 0xc6acc7a8)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, bool p1, uint256 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,bool,uint256,string)`.
- mstore(0x00, 0xde03e774)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, bool p1, bytes32 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,bool,string,address)`.
- mstore(0x00, 0xef529018)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, bool p1, bytes32 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,bool,string,bool)`.
- mstore(0x00, 0xeb928d7f)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, bool p1, bytes32 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,bool,string,uint256)`.
- mstore(0x00, 0x2c1d0746)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, bool p1, bytes32 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(uint256,bool,string,string)`.
- mstore(0x00, 0x68c8b8bd)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, 0xc0)
- writeString(0xa0, p2)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(uint256 p0, uint256 p1, address p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,uint256,address,address)`.
- mstore(0x00, 0x56a5d1b1)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, uint256 p1, address p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,uint256,address,bool)`.
- mstore(0x00, 0x15cac476)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,uint256,address,uint256)`.
- mstore(0x00, 0x88f6e4b2)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, uint256 p1, address p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,uint256,address,string)`.
- mstore(0x00, 0x6cde40b8)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, uint256 p1, bool p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,uint256,bool,address)`.
- mstore(0x00, 0x9a816a83)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, uint256 p1, bool p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,uint256,bool,bool)`.
- mstore(0x00, 0xab085ae6)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,uint256,bool,uint256)`.
- mstore(0x00, 0xeb7f6fd2)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, uint256 p1, bool p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,uint256,bool,string)`.
- mstore(0x00, 0xa5b4fc99)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,uint256,uint256,address)`.
- mstore(0x00, 0xfa8185af)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,uint256,uint256,bool)`.
- mstore(0x00, 0xc598d185)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- assembly {
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- // Selector of `log(uint256,uint256,uint256,uint256)`.
- mstore(0x00, 0x193fb800)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- }
- _sendLogPayload(0x1c, 0x84);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- }
- }
-
- function log(uint256 p0, uint256 p1, uint256 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,uint256,uint256,string)`.
- mstore(0x00, 0x59cfcbe3)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0x80)
- writeString(0xa0, p3)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, uint256 p1, bytes32 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,uint256,string,address)`.
- mstore(0x00, 0x42d21db7)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, uint256 p1, bytes32 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,uint256,string,bool)`.
- mstore(0x00, 0x7af6ab25)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, uint256 p1, bytes32 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,uint256,string,uint256)`.
- mstore(0x00, 0x5da297eb)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, p3)
- writeString(0xa0, p2)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, uint256 p1, bytes32 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(uint256,uint256,string,string)`.
- mstore(0x00, 0x27d8afd2)
- mstore(0x20, p0)
- mstore(0x40, p1)
- mstore(0x60, 0x80)
- mstore(0x80, 0xc0)
- writeString(0xa0, p2)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(uint256 p0, bytes32 p1, address p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,string,address,address)`.
- mstore(0x00, 0x6168ed61)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, bytes32 p1, address p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,string,address,bool)`.
- mstore(0x00, 0x90c30a56)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, bytes32 p1, address p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,string,address,uint256)`.
- mstore(0x00, 0xe8d3018d)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, bytes32 p1, address p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(uint256,string,address,string)`.
- mstore(0x00, 0x9c3adfa1)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p1)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(uint256 p0, bytes32 p1, bool p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,string,bool,address)`.
- mstore(0x00, 0xae2ec581)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, bytes32 p1, bool p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,string,bool,bool)`.
- mstore(0x00, 0xba535d9c)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, bytes32 p1, bool p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,string,bool,uint256)`.
- mstore(0x00, 0xcf009880)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, bytes32 p1, bool p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(uint256,string,bool,string)`.
- mstore(0x00, 0xd2d423cd)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p1)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(uint256 p0, bytes32 p1, uint256 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,string,uint256,address)`.
- mstore(0x00, 0x3b2279b4)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, bytes32 p1, uint256 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,string,uint256,bool)`.
- mstore(0x00, 0x691a8f74)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, bytes32 p1, uint256 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(uint256,string,uint256,uint256)`.
- mstore(0x00, 0x82c25b74)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(uint256 p0, bytes32 p1, uint256 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(uint256,string,uint256,string)`.
- mstore(0x00, 0xb7b914ca)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p1)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(uint256 p0, bytes32 p1, bytes32 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(uint256,string,string,address)`.
- mstore(0x00, 0xd583c602)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(uint256 p0, bytes32 p1, bytes32 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(uint256,string,string,bool)`.
- mstore(0x00, 0xb3a6b6bd)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(uint256 p0, bytes32 p1, bytes32 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(uint256,string,string,uint256)`.
- mstore(0x00, 0xb028c9bd)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p1)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(uint256 p0, bytes32 p1, bytes32 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- bytes32 m9;
- bytes32 m10;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- m9 := mload(0x120)
- m10 := mload(0x140)
- // Selector of `log(uint256,string,string,string)`.
- mstore(0x00, 0x21ad0683)
- mstore(0x20, p0)
- mstore(0x40, 0x80)
- mstore(0x60, 0xc0)
- mstore(0x80, 0x100)
- writeString(0xa0, p1)
- writeString(0xe0, p2)
- writeString(0x120, p3)
- }
- _sendLogPayload(0x1c, 0x144);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- mstore(0x120, m9)
- mstore(0x140, m10)
- }
- }
-
- function log(bytes32 p0, address p1, address p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,address,address,address)`.
- mstore(0x00, 0xed8f28f6)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, address p1, address p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,address,address,bool)`.
- mstore(0x00, 0xb59dbd60)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, address p1, address p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,address,address,uint256)`.
- mstore(0x00, 0x8ef3f399)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, address p1, address p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,address,address,string)`.
- mstore(0x00, 0x800a1c67)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p0)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, address p1, bool p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,address,bool,address)`.
- mstore(0x00, 0x223603bd)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, address p1, bool p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,address,bool,bool)`.
- mstore(0x00, 0x79884c2b)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, address p1, bool p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,address,bool,uint256)`.
- mstore(0x00, 0x3e9f866a)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, address p1, bool p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,address,bool,string)`.
- mstore(0x00, 0x0454c079)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p0)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, address p1, uint256 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,address,uint256,address)`.
- mstore(0x00, 0x63fb8bc5)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, address p1, uint256 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,address,uint256,bool)`.
- mstore(0x00, 0xfc4845f0)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, address p1, uint256 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,address,uint256,uint256)`.
- mstore(0x00, 0xf8f51b1e)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, address p1, uint256 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,address,uint256,string)`.
- mstore(0x00, 0x5a477632)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p0)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, address p1, bytes32 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,address,string,address)`.
- mstore(0x00, 0xaabc9a31)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, address p1, bytes32 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,address,string,bool)`.
- mstore(0x00, 0x5f15d28c)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, address p1, bytes32 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,address,string,uint256)`.
- mstore(0x00, 0x91d1112e)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, address p1, bytes32 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- bytes32 m9;
- bytes32 m10;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- m9 := mload(0x120)
- m10 := mload(0x140)
- // Selector of `log(string,address,string,string)`.
- mstore(0x00, 0x245986f2)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, 0xc0)
- mstore(0x80, 0x100)
- writeString(0xa0, p0)
- writeString(0xe0, p2)
- writeString(0x120, p3)
- }
- _sendLogPayload(0x1c, 0x144);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- mstore(0x120, m9)
- mstore(0x140, m10)
- }
- }
-
- function log(bytes32 p0, bool p1, address p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,bool,address,address)`.
- mstore(0x00, 0x33e9dd1d)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, bool p1, address p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,bool,address,bool)`.
- mstore(0x00, 0x958c28c6)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, bool p1, address p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,bool,address,uint256)`.
- mstore(0x00, 0x5d08bb05)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, bool p1, address p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,bool,address,string)`.
- mstore(0x00, 0x2d8e33a4)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p0)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, bool p1, bool p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,bool,bool,address)`.
- mstore(0x00, 0x7190a529)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, bool p1, bool p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,bool,bool,bool)`.
- mstore(0x00, 0x895af8c5)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, bool p1, bool p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,bool,bool,uint256)`.
- mstore(0x00, 0x8e3f78a9)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, bool p1, bool p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,bool,bool,string)`.
- mstore(0x00, 0x9d22d5dd)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p0)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, bool p1, uint256 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,bool,uint256,address)`.
- mstore(0x00, 0x935e09bf)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, bool p1, uint256 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,bool,uint256,bool)`.
- mstore(0x00, 0x8af7cf8a)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, bool p1, uint256 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,bool,uint256,uint256)`.
- mstore(0x00, 0x64b5bb67)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, bool p1, uint256 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,bool,uint256,string)`.
- mstore(0x00, 0x742d6ee7)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p0)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, bool p1, bytes32 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,bool,string,address)`.
- mstore(0x00, 0xe0625b29)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, bool p1, bytes32 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,bool,string,bool)`.
- mstore(0x00, 0x3f8a701d)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, bool p1, bytes32 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,bool,string,uint256)`.
- mstore(0x00, 0x24f91465)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, bool p1, bytes32 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- bytes32 m9;
- bytes32 m10;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- m9 := mload(0x120)
- m10 := mload(0x140)
- // Selector of `log(string,bool,string,string)`.
- mstore(0x00, 0xa826caeb)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, 0xc0)
- mstore(0x80, 0x100)
- writeString(0xa0, p0)
- writeString(0xe0, p2)
- writeString(0x120, p3)
- }
- _sendLogPayload(0x1c, 0x144);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- mstore(0x120, m9)
- mstore(0x140, m10)
- }
- }
-
- function log(bytes32 p0, uint256 p1, address p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,uint256,address,address)`.
- mstore(0x00, 0x5ea2b7ae)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, uint256 p1, address p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,uint256,address,bool)`.
- mstore(0x00, 0x82112a42)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, uint256 p1, address p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,uint256,address,uint256)`.
- mstore(0x00, 0x4f04fdc6)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, uint256 p1, address p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,uint256,address,string)`.
- mstore(0x00, 0x9ffb2f93)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p0)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, uint256 p1, bool p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,uint256,bool,address)`.
- mstore(0x00, 0xe0e95b98)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, uint256 p1, bool p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,uint256,bool,bool)`.
- mstore(0x00, 0x354c36d6)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, uint256 p1, bool p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,uint256,bool,uint256)`.
- mstore(0x00, 0xe41b6f6f)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, uint256 p1, bool p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,uint256,bool,string)`.
- mstore(0x00, 0xabf73a98)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p0)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, uint256 p1, uint256 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,uint256,uint256,address)`.
- mstore(0x00, 0xe21de278)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, uint256 p1, uint256 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,uint256,uint256,bool)`.
- mstore(0x00, 0x7626db92)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- // Selector of `log(string,uint256,uint256,uint256)`.
- mstore(0x00, 0xa7a87853)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- }
- _sendLogPayload(0x1c, 0xc4);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- }
- }
-
- function log(bytes32 p0, uint256 p1, uint256 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,uint256,uint256,string)`.
- mstore(0x00, 0x854b3496)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, p2)
- mstore(0x80, 0xc0)
- writeString(0xa0, p0)
- writeString(0xe0, p3)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, uint256 p1, bytes32 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,uint256,string,address)`.
- mstore(0x00, 0x7c4632a4)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, uint256 p1, bytes32 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,uint256,string,bool)`.
- mstore(0x00, 0x7d24491d)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, uint256 p1, bytes32 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,uint256,string,uint256)`.
- mstore(0x00, 0xc67ea9d1)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, 0xc0)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p2)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, uint256 p1, bytes32 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- bytes32 m9;
- bytes32 m10;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- m9 := mload(0x120)
- m10 := mload(0x140)
- // Selector of `log(string,uint256,string,string)`.
- mstore(0x00, 0x5ab84e1f)
- mstore(0x20, 0x80)
- mstore(0x40, p1)
- mstore(0x60, 0xc0)
- mstore(0x80, 0x100)
- writeString(0xa0, p0)
- writeString(0xe0, p2)
- writeString(0x120, p3)
- }
- _sendLogPayload(0x1c, 0x144);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- mstore(0x120, m9)
- mstore(0x140, m10)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, address p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,string,address,address)`.
- mstore(0x00, 0x439c7bef)
- mstore(0x20, 0x80)
- mstore(0x40, 0xc0)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p1)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, address p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,string,address,bool)`.
- mstore(0x00, 0x5ccd4e37)
- mstore(0x20, 0x80)
- mstore(0x40, 0xc0)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p1)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, address p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,string,address,uint256)`.
- mstore(0x00, 0x7cc3c607)
- mstore(0x20, 0x80)
- mstore(0x40, 0xc0)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p1)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, address p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- bytes32 m9;
- bytes32 m10;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- m9 := mload(0x120)
- m10 := mload(0x140)
- // Selector of `log(string,string,address,string)`.
- mstore(0x00, 0xeb1bff80)
- mstore(0x20, 0x80)
- mstore(0x40, 0xc0)
- mstore(0x60, p2)
- mstore(0x80, 0x100)
- writeString(0xa0, p0)
- writeString(0xe0, p1)
- writeString(0x120, p3)
- }
- _sendLogPayload(0x1c, 0x144);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- mstore(0x120, m9)
- mstore(0x140, m10)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, bool p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,string,bool,address)`.
- mstore(0x00, 0xc371c7db)
- mstore(0x20, 0x80)
- mstore(0x40, 0xc0)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p1)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, bool p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,string,bool,bool)`.
- mstore(0x00, 0x40785869)
- mstore(0x20, 0x80)
- mstore(0x40, 0xc0)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p1)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, bool p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,string,bool,uint256)`.
- mstore(0x00, 0xd6aefad2)
- mstore(0x20, 0x80)
- mstore(0x40, 0xc0)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p1)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, bool p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- bytes32 m9;
- bytes32 m10;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- m9 := mload(0x120)
- m10 := mload(0x140)
- // Selector of `log(string,string,bool,string)`.
- mstore(0x00, 0x5e84b0ea)
- mstore(0x20, 0x80)
- mstore(0x40, 0xc0)
- mstore(0x60, p2)
- mstore(0x80, 0x100)
- writeString(0xa0, p0)
- writeString(0xe0, p1)
- writeString(0x120, p3)
- }
- _sendLogPayload(0x1c, 0x144);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- mstore(0x120, m9)
- mstore(0x140, m10)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, uint256 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,string,uint256,address)`.
- mstore(0x00, 0x1023f7b2)
- mstore(0x20, 0x80)
- mstore(0x40, 0xc0)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p1)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, uint256 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,string,uint256,bool)`.
- mstore(0x00, 0xc3a8a654)
- mstore(0x20, 0x80)
- mstore(0x40, 0xc0)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p1)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, uint256 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- // Selector of `log(string,string,uint256,uint256)`.
- mstore(0x00, 0xf45d7d2c)
- mstore(0x20, 0x80)
- mstore(0x40, 0xc0)
- mstore(0x60, p2)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p1)
- }
- _sendLogPayload(0x1c, 0x104);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, uint256 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- bytes32 m9;
- bytes32 m10;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- m9 := mload(0x120)
- m10 := mload(0x140)
- // Selector of `log(string,string,uint256,string)`.
- mstore(0x00, 0x5d1a971a)
- mstore(0x20, 0x80)
- mstore(0x40, 0xc0)
- mstore(0x60, p2)
- mstore(0x80, 0x100)
- writeString(0xa0, p0)
- writeString(0xe0, p1)
- writeString(0x120, p3)
- }
- _sendLogPayload(0x1c, 0x144);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- mstore(0x120, m9)
- mstore(0x140, m10)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, bytes32 p2, address p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- bytes32 m9;
- bytes32 m10;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- m9 := mload(0x120)
- m10 := mload(0x140)
- // Selector of `log(string,string,string,address)`.
- mstore(0x00, 0x6d572f44)
- mstore(0x20, 0x80)
- mstore(0x40, 0xc0)
- mstore(0x60, 0x100)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p1)
- writeString(0x120, p2)
- }
- _sendLogPayload(0x1c, 0x144);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- mstore(0x120, m9)
- mstore(0x140, m10)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, bytes32 p2, bool p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- bytes32 m9;
- bytes32 m10;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- m9 := mload(0x120)
- m10 := mload(0x140)
- // Selector of `log(string,string,string,bool)`.
- mstore(0x00, 0x2c1754ed)
- mstore(0x20, 0x80)
- mstore(0x40, 0xc0)
- mstore(0x60, 0x100)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p1)
- writeString(0x120, p2)
- }
- _sendLogPayload(0x1c, 0x144);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- mstore(0x120, m9)
- mstore(0x140, m10)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, bytes32 p2, uint256 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- bytes32 m9;
- bytes32 m10;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- m9 := mload(0x120)
- m10 := mload(0x140)
- // Selector of `log(string,string,string,uint256)`.
- mstore(0x00, 0x8eafb02b)
- mstore(0x20, 0x80)
- mstore(0x40, 0xc0)
- mstore(0x60, 0x100)
- mstore(0x80, p3)
- writeString(0xa0, p0)
- writeString(0xe0, p1)
- writeString(0x120, p2)
- }
- _sendLogPayload(0x1c, 0x144);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- mstore(0x120, m9)
- mstore(0x140, m10)
- }
- }
-
- function log(bytes32 p0, bytes32 p1, bytes32 p2, bytes32 p3) internal pure {
- bytes32 m0;
- bytes32 m1;
- bytes32 m2;
- bytes32 m3;
- bytes32 m4;
- bytes32 m5;
- bytes32 m6;
- bytes32 m7;
- bytes32 m8;
- bytes32 m9;
- bytes32 m10;
- bytes32 m11;
- bytes32 m12;
- assembly {
- function writeString(pos, w) {
- let length := 0
- for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }
- mstore(pos, length)
- let shift := sub(256, shl(3, length))
- mstore(add(pos, 0x20), shl(shift, shr(shift, w)))
- }
- m0 := mload(0x00)
- m1 := mload(0x20)
- m2 := mload(0x40)
- m3 := mload(0x60)
- m4 := mload(0x80)
- m5 := mload(0xa0)
- m6 := mload(0xc0)
- m7 := mload(0xe0)
- m8 := mload(0x100)
- m9 := mload(0x120)
- m10 := mload(0x140)
- m11 := mload(0x160)
- m12 := mload(0x180)
- // Selector of `log(string,string,string,string)`.
- mstore(0x00, 0xde68f20a)
- mstore(0x20, 0x80)
- mstore(0x40, 0xc0)
- mstore(0x60, 0x100)
- mstore(0x80, 0x140)
- writeString(0xa0, p0)
- writeString(0xe0, p1)
- writeString(0x120, p2)
- writeString(0x160, p3)
- }
- _sendLogPayload(0x1c, 0x184);
- assembly {
- mstore(0x00, m0)
- mstore(0x20, m1)
- mstore(0x40, m2)
- mstore(0x60, m3)
- mstore(0x80, m4)
- mstore(0xa0, m5)
- mstore(0xc0, m6)
- mstore(0xe0, m7)
- mstore(0x100, m8)
- mstore(0x120, m9)
- mstore(0x140, m10)
- mstore(0x160, m11)
- mstore(0x180, m12)
- }
- }
-}
diff --git a/lib/forge-std/test/StdAssertions.t.sol b/lib/forge-std/test/StdAssertions.t.sol
deleted file mode 100644
index fcc346b..0000000
--- a/lib/forge-std/test/StdAssertions.t.sol
+++ /dev/null
@@ -1,999 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.7.0 <0.9.0;
-
-import "../src/Test.sol";
-
-contract StdAssertionsTest is Test {
- string constant CUSTOM_ERROR = "guh!";
-
- bool constant EXPECT_PASS = false;
- bool constant EXPECT_FAIL = true;
-
- bool constant SHOULD_REVERT = true;
- bool constant SHOULD_RETURN = false;
-
- bool constant STRICT_REVERT_DATA = true;
- bool constant NON_STRICT_REVERT_DATA = false;
-
- TestTest t = new TestTest();
-
- /*//////////////////////////////////////////////////////////////////////////
- FAIL(STRING)
- //////////////////////////////////////////////////////////////////////////*/
-
- function testShouldFail() external {
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- t._fail(CUSTOM_ERROR);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- ASSERT_FALSE
- //////////////////////////////////////////////////////////////////////////*/
-
- function testAssertFalse_Pass() external {
- t._assertFalse(false, EXPECT_PASS);
- }
-
- function testAssertFalse_Fail() external {
- vm.expectEmit(false, false, false, true);
- emit log("Error: Assertion Failed");
- t._assertFalse(true, EXPECT_FAIL);
- }
-
- function testAssertFalse_Err_Pass() external {
- t._assertFalse(false, CUSTOM_ERROR, EXPECT_PASS);
- }
-
- function testAssertFalse_Err_Fail() external {
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- t._assertFalse(true, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- ASSERT_EQ(BOOL)
- //////////////////////////////////////////////////////////////////////////*/
-
- function testAssertEq_Bool_Pass(bool a) external {
- t._assertEq(a, a, EXPECT_PASS);
- }
-
- function testAssertEq_Bool_Fail(bool a, bool b) external {
- vm.assume(a != b);
-
- vm.expectEmit(false, false, false, true);
- emit log("Error: a == b not satisfied [bool]");
- t._assertEq(a, b, EXPECT_FAIL);
- }
-
- function testAssertEq_BoolErr_Pass(bool a) external {
- t._assertEq(a, a, CUSTOM_ERROR, EXPECT_PASS);
- }
-
- function testAssertEq_BoolErr_Fail(bool a, bool b) external {
- vm.assume(a != b);
-
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- t._assertEq(a, b, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- ASSERT_EQ(BYTES)
- //////////////////////////////////////////////////////////////////////////*/
-
- function testAssertEq_Bytes_Pass(bytes calldata a) external {
- t._assertEq(a, a, EXPECT_PASS);
- }
-
- function testAssertEq_Bytes_Fail(bytes calldata a, bytes calldata b) external {
- vm.assume(keccak256(a) != keccak256(b));
-
- vm.expectEmit(false, false, false, true);
- emit log("Error: a == b not satisfied [bytes]");
- t._assertEq(a, b, EXPECT_FAIL);
- }
-
- function testAssertEq_BytesErr_Pass(bytes calldata a) external {
- t._assertEq(a, a, CUSTOM_ERROR, EXPECT_PASS);
- }
-
- function testAssertEq_BytesErr_Fail(bytes calldata a, bytes calldata b) external {
- vm.assume(keccak256(a) != keccak256(b));
-
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- t._assertEq(a, b, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- ASSERT_EQ(ARRAY)
- //////////////////////////////////////////////////////////////////////////*/
-
- function testAssertEq_UintArr_Pass(uint256 e0, uint256 e1, uint256 e2) public {
- uint256[] memory a = new uint256[](3);
- a[0] = e0;
- a[1] = e1;
- a[2] = e2;
- uint256[] memory b = new uint256[](3);
- b[0] = e0;
- b[1] = e1;
- b[2] = e2;
-
- t._assertEq(a, b, EXPECT_PASS);
- }
-
- function testAssertEq_IntArr_Pass(int256 e0, int256 e1, int256 e2) public {
- int256[] memory a = new int256[](3);
- a[0] = e0;
- a[1] = e1;
- a[2] = e2;
- int256[] memory b = new int256[](3);
- b[0] = e0;
- b[1] = e1;
- b[2] = e2;
-
- t._assertEq(a, b, EXPECT_PASS);
- }
-
- function testAssertEq_AddressArr_Pass(address e0, address e1, address e2) public {
- address[] memory a = new address[](3);
- a[0] = e0;
- a[1] = e1;
- a[2] = e2;
- address[] memory b = new address[](3);
- b[0] = e0;
- b[1] = e1;
- b[2] = e2;
-
- t._assertEq(a, b, EXPECT_PASS);
- }
-
- function testAssertEq_UintArr_FailEl(uint256 e1) public {
- vm.assume(e1 != 0);
- uint256[] memory a = new uint256[](3);
- uint256[] memory b = new uint256[](3);
- b[1] = e1;
-
- vm.expectEmit(false, false, false, true);
- emit log("Error: a == b not satisfied [uint[]]");
- t._assertEq(a, b, EXPECT_FAIL);
- }
-
- function testAssertEq_IntArr_FailEl(int256 e1) public {
- vm.assume(e1 != 0);
- int256[] memory a = new int256[](3);
- int256[] memory b = new int256[](3);
- b[1] = e1;
-
- vm.expectEmit(false, false, false, true);
- emit log("Error: a == b not satisfied [int[]]");
- t._assertEq(a, b, EXPECT_FAIL);
- }
-
- function testAssertEq_AddressArr_FailEl(address e1) public {
- vm.assume(e1 != address(0));
- address[] memory a = new address[](3);
- address[] memory b = new address[](3);
- b[1] = e1;
-
- vm.expectEmit(false, false, false, true);
- emit log("Error: a == b not satisfied [address[]]");
- t._assertEq(a, b, EXPECT_FAIL);
- }
-
- function testAssertEq_UintArrErr_FailEl(uint256 e1) public {
- vm.assume(e1 != 0);
- uint256[] memory a = new uint256[](3);
- uint256[] memory b = new uint256[](3);
- b[1] = e1;
-
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- vm.expectEmit(false, false, false, true);
- emit log("Error: a == b not satisfied [uint[]]");
- t._assertEq(a, b, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- function testAssertEq_IntArrErr_FailEl(int256 e1) public {
- vm.assume(e1 != 0);
- int256[] memory a = new int256[](3);
- int256[] memory b = new int256[](3);
- b[1] = e1;
-
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- vm.expectEmit(false, false, false, true);
- emit log("Error: a == b not satisfied [int[]]");
- t._assertEq(a, b, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- function testAssertEq_AddressArrErr_FailEl(address e1) public {
- vm.assume(e1 != address(0));
- address[] memory a = new address[](3);
- address[] memory b = new address[](3);
- b[1] = e1;
-
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- vm.expectEmit(false, false, false, true);
- emit log("Error: a == b not satisfied [address[]]");
- t._assertEq(a, b, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- function testAssertEq_UintArr_FailLen(uint256 lenA, uint256 lenB) public {
- vm.assume(lenA != lenB);
- vm.assume(lenA <= 10000);
- vm.assume(lenB <= 10000);
- uint256[] memory a = new uint256[](lenA);
- uint256[] memory b = new uint256[](lenB);
-
- vm.expectEmit(false, false, false, true);
- emit log("Error: a == b not satisfied [uint[]]");
- t._assertEq(a, b, EXPECT_FAIL);
- }
-
- function testAssertEq_IntArr_FailLen(uint256 lenA, uint256 lenB) public {
- vm.assume(lenA != lenB);
- vm.assume(lenA <= 10000);
- vm.assume(lenB <= 10000);
- int256[] memory a = new int256[](lenA);
- int256[] memory b = new int256[](lenB);
-
- vm.expectEmit(false, false, false, true);
- emit log("Error: a == b not satisfied [int[]]");
- t._assertEq(a, b, EXPECT_FAIL);
- }
-
- function testAssertEq_AddressArr_FailLen(uint256 lenA, uint256 lenB) public {
- vm.assume(lenA != lenB);
- vm.assume(lenA <= 10000);
- vm.assume(lenB <= 10000);
- address[] memory a = new address[](lenA);
- address[] memory b = new address[](lenB);
-
- vm.expectEmit(false, false, false, true);
- emit log("Error: a == b not satisfied [address[]]");
- t._assertEq(a, b, EXPECT_FAIL);
- }
-
- function testAssertEq_UintArrErr_FailLen(uint256 lenA, uint256 lenB) public {
- vm.assume(lenA != lenB);
- vm.assume(lenA <= 10000);
- vm.assume(lenB <= 10000);
- uint256[] memory a = new uint256[](lenA);
- uint256[] memory b = new uint256[](lenB);
-
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- vm.expectEmit(false, false, false, true);
- emit log("Error: a == b not satisfied [uint[]]");
- t._assertEq(a, b, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- function testAssertEq_IntArrErr_FailLen(uint256 lenA, uint256 lenB) public {
- vm.assume(lenA != lenB);
- vm.assume(lenA <= 10000);
- vm.assume(lenB <= 10000);
- int256[] memory a = new int256[](lenA);
- int256[] memory b = new int256[](lenB);
-
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- vm.expectEmit(false, false, false, true);
- emit log("Error: a == b not satisfied [int[]]");
- t._assertEq(a, b, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- function testAssertEq_AddressArrErr_FailLen(uint256 lenA, uint256 lenB) public {
- vm.assume(lenA != lenB);
- vm.assume(lenA <= 10000);
- vm.assume(lenB <= 10000);
- address[] memory a = new address[](lenA);
- address[] memory b = new address[](lenB);
-
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- vm.expectEmit(false, false, false, true);
- emit log("Error: a == b not satisfied [address[]]");
- t._assertEq(a, b, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- ASSERT_EQ(UINT)
- //////////////////////////////////////////////////////////////////////////*/
-
- function testAssertEqUint() public {
- assertEqUint(uint8(1), uint128(1));
- assertEqUint(uint64(2), uint64(2));
- }
-
- function testFailAssertEqUint() public {
- assertEqUint(uint64(1), uint96(2));
- assertEqUint(uint160(3), uint160(4));
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- APPROX_EQ_ABS(UINT)
- //////////////////////////////////////////////////////////////////////////*/
-
- function testAssertApproxEqAbs_Uint_Pass(uint256 a, uint256 b, uint256 maxDelta) external {
- vm.assume(stdMath.delta(a, b) <= maxDelta);
-
- t._assertApproxEqAbs(a, b, maxDelta, EXPECT_PASS);
- }
-
- function testAssertApproxEqAbs_Uint_Fail(uint256 a, uint256 b, uint256 maxDelta) external {
- vm.assume(stdMath.delta(a, b) > maxDelta);
-
- vm.expectEmit(false, false, false, true);
- emit log("Error: a ~= b not satisfied [uint]");
- t._assertApproxEqAbs(a, b, maxDelta, EXPECT_FAIL);
- }
-
- function testAssertApproxEqAbs_UintErr_Pass(uint256 a, uint256 b, uint256 maxDelta) external {
- vm.assume(stdMath.delta(a, b) <= maxDelta);
-
- t._assertApproxEqAbs(a, b, maxDelta, CUSTOM_ERROR, EXPECT_PASS);
- }
-
- function testAssertApproxEqAbs_UintErr_Fail(uint256 a, uint256 b, uint256 maxDelta) external {
- vm.assume(stdMath.delta(a, b) > maxDelta);
-
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- t._assertApproxEqAbs(a, b, maxDelta, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- APPROX_EQ_ABS_DECIMAL(UINT)
- //////////////////////////////////////////////////////////////////////////*/
-
- function testAssertApproxEqAbsDecimal_Uint_Pass(uint256 a, uint256 b, uint256 maxDelta, uint256 decimals)
- external
- {
- vm.assume(stdMath.delta(a, b) <= maxDelta);
-
- t._assertApproxEqAbsDecimal(a, b, maxDelta, decimals, EXPECT_PASS);
- }
-
- function testAssertApproxEqAbsDecimal_Uint_Fail(uint256 a, uint256 b, uint256 maxDelta, uint256 decimals)
- external
- {
- vm.assume(stdMath.delta(a, b) > maxDelta);
-
- vm.expectEmit(false, false, false, true);
- emit log("Error: a ~= b not satisfied [uint]");
- t._assertApproxEqAbsDecimal(a, b, maxDelta, decimals, EXPECT_FAIL);
- }
-
- function testAssertApproxEqAbsDecimal_UintErr_Pass(uint256 a, uint256 b, uint256 maxDelta, uint256 decimals)
- external
- {
- vm.assume(stdMath.delta(a, b) <= maxDelta);
-
- t._assertApproxEqAbsDecimal(a, b, maxDelta, decimals, CUSTOM_ERROR, EXPECT_PASS);
- }
-
- function testAssertApproxEqAbsDecimal_UintErr_Fail(uint256 a, uint256 b, uint256 maxDelta, uint256 decimals)
- external
- {
- vm.assume(stdMath.delta(a, b) > maxDelta);
-
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- t._assertApproxEqAbsDecimal(a, b, maxDelta, decimals, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- APPROX_EQ_ABS(INT)
- //////////////////////////////////////////////////////////////////////////*/
-
- function testAssertApproxEqAbs_Int_Pass(int256 a, int256 b, uint256 maxDelta) external {
- vm.assume(stdMath.delta(a, b) <= maxDelta);
-
- t._assertApproxEqAbs(a, b, maxDelta, EXPECT_PASS);
- }
-
- function testAssertApproxEqAbs_Int_Fail(int256 a, int256 b, uint256 maxDelta) external {
- vm.assume(stdMath.delta(a, b) > maxDelta);
-
- vm.expectEmit(false, false, false, true);
- emit log("Error: a ~= b not satisfied [int]");
- t._assertApproxEqAbs(a, b, maxDelta, EXPECT_FAIL);
- }
-
- function testAssertApproxEqAbs_IntErr_Pass(int256 a, int256 b, uint256 maxDelta) external {
- vm.assume(stdMath.delta(a, b) <= maxDelta);
-
- t._assertApproxEqAbs(a, b, maxDelta, CUSTOM_ERROR, EXPECT_PASS);
- }
-
- function testAssertApproxEqAbs_IntErr_Fail(int256 a, int256 b, uint256 maxDelta) external {
- vm.assume(stdMath.delta(a, b) > maxDelta);
-
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- t._assertApproxEqAbs(a, b, maxDelta, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- APPROX_EQ_ABS_DECIMAL(INT)
- //////////////////////////////////////////////////////////////////////////*/
-
- function testAssertApproxEqAbsDecimal_Int_Pass(int256 a, int256 b, uint256 maxDelta, uint256 decimals) external {
- vm.assume(stdMath.delta(a, b) <= maxDelta);
-
- t._assertApproxEqAbsDecimal(a, b, maxDelta, decimals, EXPECT_PASS);
- }
-
- function testAssertApproxEqAbsDecimal_Int_Fail(int256 a, int256 b, uint256 maxDelta, uint256 decimals) external {
- vm.assume(stdMath.delta(a, b) > maxDelta);
-
- vm.expectEmit(false, false, false, true);
- emit log("Error: a ~= b not satisfied [int]");
- t._assertApproxEqAbsDecimal(a, b, maxDelta, decimals, EXPECT_FAIL);
- }
-
- function testAssertApproxEqAbsDecimal_IntErr_Pass(int256 a, int256 b, uint256 maxDelta, uint256 decimals)
- external
- {
- vm.assume(stdMath.delta(a, b) <= maxDelta);
-
- t._assertApproxEqAbsDecimal(a, b, maxDelta, decimals, CUSTOM_ERROR, EXPECT_PASS);
- }
-
- function testAssertApproxEqAbsDecimal_IntErr_Fail(int256 a, int256 b, uint256 maxDelta, uint256 decimals)
- external
- {
- vm.assume(stdMath.delta(a, b) > maxDelta);
-
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- t._assertApproxEqAbsDecimal(a, b, maxDelta, decimals, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- APPROX_EQ_REL(UINT)
- //////////////////////////////////////////////////////////////////////////*/
-
- function testAssertApproxEqRel_Uint_Pass(uint256 a, uint256 b, uint256 maxPercentDelta) external {
- vm.assume(a < type(uint128).max && b < type(uint128).max && b != 0);
- vm.assume(stdMath.percentDelta(a, b) <= maxPercentDelta);
-
- t._assertApproxEqRel(a, b, maxPercentDelta, EXPECT_PASS);
- }
-
- function testAssertApproxEqRel_Uint_Fail(uint256 a, uint256 b, uint256 maxPercentDelta) external {
- vm.assume(a < type(uint128).max && b < type(uint128).max && b != 0);
- vm.assume(stdMath.percentDelta(a, b) > maxPercentDelta);
-
- vm.expectEmit(false, false, false, true);
- emit log("Error: a ~= b not satisfied [uint]");
- t._assertApproxEqRel(a, b, maxPercentDelta, EXPECT_FAIL);
- }
-
- function testAssertApproxEqRel_UintErr_Pass(uint256 a, uint256 b, uint256 maxPercentDelta) external {
- vm.assume(a < type(uint128).max && b < type(uint128).max && b != 0);
- vm.assume(stdMath.percentDelta(a, b) <= maxPercentDelta);
-
- t._assertApproxEqRel(a, b, maxPercentDelta, CUSTOM_ERROR, EXPECT_PASS);
- }
-
- function testAssertApproxEqRel_UintErr_Fail(uint256 a, uint256 b, uint256 maxPercentDelta) external {
- vm.assume(a < type(uint128).max && b < type(uint128).max && b != 0);
- vm.assume(stdMath.percentDelta(a, b) > maxPercentDelta);
-
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- t._assertApproxEqRel(a, b, maxPercentDelta, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- APPROX_EQ_REL_DECIMAL(UINT)
- //////////////////////////////////////////////////////////////////////////*/
-
- function testAssertApproxEqRelDecimal_Uint_Pass(uint256 a, uint256 b, uint256 maxPercentDelta, uint256 decimals)
- external
- {
- vm.assume(a < type(uint128).max && b < type(uint128).max && b != 0);
- vm.assume(stdMath.percentDelta(a, b) <= maxPercentDelta);
-
- t._assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals, EXPECT_PASS);
- }
-
- function testAssertApproxEqRelDecimal_Uint_Fail(uint256 a, uint256 b, uint256 maxPercentDelta, uint256 decimals)
- external
- {
- vm.assume(a < type(uint128).max && b < type(uint128).max && b != 0);
- vm.assume(stdMath.percentDelta(a, b) > maxPercentDelta);
-
- vm.expectEmit(false, false, false, true);
- emit log("Error: a ~= b not satisfied [uint]");
- t._assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals, EXPECT_FAIL);
- }
-
- function testAssertApproxEqRelDecimal_UintErr_Pass(uint256 a, uint256 b, uint256 maxPercentDelta, uint256 decimals)
- external
- {
- vm.assume(a < type(uint128).max && b < type(uint128).max && b != 0);
- vm.assume(stdMath.percentDelta(a, b) <= maxPercentDelta);
-
- t._assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals, CUSTOM_ERROR, EXPECT_PASS);
- }
-
- function testAssertApproxEqRelDecimal_UintErr_Fail(uint256 a, uint256 b, uint256 maxPercentDelta, uint256 decimals)
- external
- {
- vm.assume(a < type(uint128).max && b < type(uint128).max && b != 0);
- vm.assume(stdMath.percentDelta(a, b) > maxPercentDelta);
-
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- t._assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- APPROX_EQ_REL(INT)
- //////////////////////////////////////////////////////////////////////////*/
-
- function testAssertApproxEqRel_Int_Pass(int128 a, int128 b, uint128 maxPercentDelta) external {
- vm.assume(b != 0);
- vm.assume(stdMath.percentDelta(a, b) <= maxPercentDelta);
-
- t._assertApproxEqRel(a, b, maxPercentDelta, EXPECT_PASS);
- }
-
- function testAssertApproxEqRel_Int_Fail(int128 a, int128 b, uint128 maxPercentDelta) external {
- vm.assume(b != 0);
- vm.assume(stdMath.percentDelta(a, b) > maxPercentDelta);
-
- vm.expectEmit(false, false, false, true);
- emit log("Error: a ~= b not satisfied [int]");
- t._assertApproxEqRel(a, b, maxPercentDelta, EXPECT_FAIL);
- }
-
- function testAssertApproxEqRel_IntErr_Pass(int128 a, int128 b, uint128 maxPercentDelta) external {
- vm.assume(b != 0);
- vm.assume(stdMath.percentDelta(a, b) <= maxPercentDelta);
-
- t._assertApproxEqRel(a, b, maxPercentDelta, CUSTOM_ERROR, EXPECT_PASS);
- }
-
- function testAssertApproxEqRel_IntErr_Fail(int128 a, int128 b, uint128 maxPercentDelta) external {
- vm.assume(b != 0);
- vm.assume(stdMath.percentDelta(a, b) > maxPercentDelta);
-
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- t._assertApproxEqRel(a, b, maxPercentDelta, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- APPROX_EQ_REL_DECIMAL(INT)
- //////////////////////////////////////////////////////////////////////////*/
-
- function testAssertApproxEqRelDecimal_Int_Pass(int128 a, int128 b, uint128 maxPercentDelta, uint128 decimals)
- external
- {
- vm.assume(b != 0);
- vm.assume(stdMath.percentDelta(a, b) <= maxPercentDelta);
-
- t._assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals, EXPECT_PASS);
- }
-
- function testAssertApproxEqRelDecimal_Int_Fail(int128 a, int128 b, uint128 maxPercentDelta, uint128 decimals)
- external
- {
- vm.assume(b != 0);
- vm.assume(stdMath.percentDelta(a, b) > maxPercentDelta);
-
- vm.expectEmit(false, false, false, true);
- emit log("Error: a ~= b not satisfied [int]");
- t._assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals, EXPECT_FAIL);
- }
-
- function testAssertApproxEqRelDecimal_IntErr_Pass(int128 a, int128 b, uint128 maxPercentDelta, uint128 decimals)
- external
- {
- vm.assume(b != 0);
- vm.assume(stdMath.percentDelta(a, b) <= maxPercentDelta);
-
- t._assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals, CUSTOM_ERROR, EXPECT_PASS);
- }
-
- function testAssertApproxEqRelDecimal_IntErr_Fail(int128 a, int128 b, uint128 maxPercentDelta, uint128 decimals)
- external
- {
- vm.assume(b != 0);
- vm.assume(stdMath.percentDelta(a, b) > maxPercentDelta);
-
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- t._assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- ASSERT_EQ_CALL
- //////////////////////////////////////////////////////////////////////////*/
-
- function testAssertEqCall_Return_Pass(
- bytes memory callDataA,
- bytes memory callDataB,
- bytes memory returnData,
- bool strictRevertData
- ) external {
- address targetA = address(new TestMockCall(returnData, SHOULD_RETURN));
- address targetB = address(new TestMockCall(returnData, SHOULD_RETURN));
-
- t._assertEqCall(targetA, callDataA, targetB, callDataB, strictRevertData, EXPECT_PASS);
- }
-
- function testAssertEqCall_Return_Fail(
- bytes memory callDataA,
- bytes memory callDataB,
- bytes memory returnDataA,
- bytes memory returnDataB,
- bool strictRevertData
- ) external {
- vm.assume(keccak256(returnDataA) != keccak256(returnDataB));
-
- address targetA = address(new TestMockCall(returnDataA, SHOULD_RETURN));
- address targetB = address(new TestMockCall(returnDataB, SHOULD_RETURN));
-
- vm.expectEmit(true, true, true, true);
- emit log_named_string("Error", "Call return data does not match");
- t._assertEqCall(targetA, callDataA, targetB, callDataB, strictRevertData, EXPECT_FAIL);
- }
-
- function testAssertEqCall_Revert_Pass(
- bytes memory callDataA,
- bytes memory callDataB,
- bytes memory revertDataA,
- bytes memory revertDataB
- ) external {
- address targetA = address(new TestMockCall(revertDataA, SHOULD_REVERT));
- address targetB = address(new TestMockCall(revertDataB, SHOULD_REVERT));
-
- t._assertEqCall(targetA, callDataA, targetB, callDataB, NON_STRICT_REVERT_DATA, EXPECT_PASS);
- }
-
- function testAssertEqCall_Revert_Fail(
- bytes memory callDataA,
- bytes memory callDataB,
- bytes memory revertDataA,
- bytes memory revertDataB
- ) external {
- vm.assume(keccak256(revertDataA) != keccak256(revertDataB));
-
- address targetA = address(new TestMockCall(revertDataA, SHOULD_REVERT));
- address targetB = address(new TestMockCall(revertDataB, SHOULD_REVERT));
-
- vm.expectEmit(true, true, true, true);
- emit log_named_string("Error", "Call revert data does not match");
- t._assertEqCall(targetA, callDataA, targetB, callDataB, STRICT_REVERT_DATA, EXPECT_FAIL);
- }
-
- function testAssertEqCall_Fail(
- bytes memory callDataA,
- bytes memory callDataB,
- bytes memory returnDataA,
- bytes memory returnDataB,
- bool strictRevertData
- ) external {
- address targetA = address(new TestMockCall(returnDataA, SHOULD_RETURN));
- address targetB = address(new TestMockCall(returnDataB, SHOULD_REVERT));
-
- vm.expectEmit(true, true, true, true);
- emit log_named_bytes(" Left call return data", returnDataA);
- vm.expectEmit(true, true, true, true);
- emit log_named_bytes(" Right call revert data", returnDataB);
- t._assertEqCall(targetA, callDataA, targetB, callDataB, strictRevertData, EXPECT_FAIL);
-
- vm.expectEmit(true, true, true, true);
- emit log_named_bytes(" Left call revert data", returnDataB);
- vm.expectEmit(true, true, true, true);
- emit log_named_bytes(" Right call return data", returnDataA);
- t._assertEqCall(targetB, callDataB, targetA, callDataA, strictRevertData, EXPECT_FAIL);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- ASSERT_NOT_EQ(BYTES)
- //////////////////////////////////////////////////////////////////////////*/
-
- function testAssertNotEq_Bytes_Pass(bytes32 a, bytes32 b) external {
- vm.assume(a != b);
- t._assertNotEq(a, b, EXPECT_PASS);
- }
-
- function testAssertNotEq_Bytes_Fail(bytes32 a) external {
- vm.expectEmit(false, false, false, true);
- emit log("Error: a != b not satisfied [bytes32]");
- t._assertNotEq(a, a, EXPECT_FAIL);
- }
-
- function testAssertNotEq_BytesErr_Pass(bytes32 a, bytes32 b) external {
- vm.assume(a != b);
- t._assertNotEq(a, b, CUSTOM_ERROR, EXPECT_PASS);
- }
-
- function testAsserNottEq_BytesErr_Fail(bytes32 a) external {
- vm.expectEmit(false, false, false, true);
- emit log_named_string("Error", CUSTOM_ERROR);
- t._assertNotEq(a, a, CUSTOM_ERROR, EXPECT_FAIL);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- ASSERT_NOT_EQ(UINT)
- //////////////////////////////////////////////////////////////////////////*/
-
- function testAssertNotEqUint() public {
- assertNotEq(uint8(1), uint128(2));
- assertNotEq(uint64(3), uint64(4));
- }
-
- function testFailAssertNotEqUint() public {
- assertNotEq(uint64(1), uint96(1));
- assertNotEq(uint160(2), uint160(2));
- }
-}
-
-contract TestTest is Test {
- modifier expectFailure(bool expectFail) {
- bool preState = vm.load(HEVM_ADDRESS, bytes32("failed")) != bytes32(0x00);
- _;
- bool postState = vm.load(HEVM_ADDRESS, bytes32("failed")) != bytes32(0x00);
-
- if (preState == true) {
- return;
- }
-
- if (expectFail) {
- require(postState == true, "expected failure not triggered");
-
- // unwind the expected failure
- vm.store(HEVM_ADDRESS, bytes32("failed"), bytes32(uint256(0x00)));
- } else {
- require(postState == false, "unexpected failure was triggered");
- }
- }
-
- function _fail(string memory err) external expectFailure(true) {
- fail(err);
- }
-
- function _assertFalse(bool data, bool expectFail) external expectFailure(expectFail) {
- assertFalse(data);
- }
-
- function _assertFalse(bool data, string memory err, bool expectFail) external expectFailure(expectFail) {
- assertFalse(data, err);
- }
-
- function _assertEq(bool a, bool b, bool expectFail) external expectFailure(expectFail) {
- assertEq(a, b);
- }
-
- function _assertEq(bool a, bool b, string memory err, bool expectFail) external expectFailure(expectFail) {
- assertEq(a, b, err);
- }
-
- function _assertEq(bytes memory a, bytes memory b, bool expectFail) external expectFailure(expectFail) {
- assertEq(a, b);
- }
-
- function _assertEq(bytes memory a, bytes memory b, string memory err, bool expectFail)
- external
- expectFailure(expectFail)
- {
- assertEq(a, b, err);
- }
-
- function _assertEq(uint256[] memory a, uint256[] memory b, bool expectFail) external expectFailure(expectFail) {
- assertEq(a, b);
- }
-
- function _assertEq(int256[] memory a, int256[] memory b, bool expectFail) external expectFailure(expectFail) {
- assertEq(a, b);
- }
-
- function _assertEq(address[] memory a, address[] memory b, bool expectFail) external expectFailure(expectFail) {
- assertEq(a, b);
- }
-
- function _assertEq(uint256[] memory a, uint256[] memory b, string memory err, bool expectFail)
- external
- expectFailure(expectFail)
- {
- assertEq(a, b, err);
- }
-
- function _assertEq(int256[] memory a, int256[] memory b, string memory err, bool expectFail)
- external
- expectFailure(expectFail)
- {
- assertEq(a, b, err);
- }
-
- function _assertEq(address[] memory a, address[] memory b, string memory err, bool expectFail)
- external
- expectFailure(expectFail)
- {
- assertEq(a, b, err);
- }
-
- function _assertNotEq(bytes32 a, bytes32 b, bool expectFail) external expectFailure(expectFail) {
- assertNotEq32(a, b);
- }
-
- function _assertNotEq(bytes32 a, bytes32 b, string memory err, bool expectFail)
- external
- expectFailure(expectFail)
- {
- assertNotEq32(a, b, err);
- }
-
- function _assertApproxEqAbs(uint256 a, uint256 b, uint256 maxDelta, bool expectFail)
- external
- expectFailure(expectFail)
- {
- assertApproxEqAbs(a, b, maxDelta);
- }
-
- function _assertApproxEqAbs(uint256 a, uint256 b, uint256 maxDelta, string memory err, bool expectFail)
- external
- expectFailure(expectFail)
- {
- assertApproxEqAbs(a, b, maxDelta, err);
- }
-
- function _assertApproxEqAbsDecimal(uint256 a, uint256 b, uint256 maxDelta, uint256 decimals, bool expectFail)
- external
- expectFailure(expectFail)
- {
- assertApproxEqAbsDecimal(a, b, maxDelta, decimals);
- }
-
- function _assertApproxEqAbsDecimal(
- uint256 a,
- uint256 b,
- uint256 maxDelta,
- uint256 decimals,
- string memory err,
- bool expectFail
- ) external expectFailure(expectFail) {
- assertApproxEqAbsDecimal(a, b, maxDelta, decimals, err);
- }
-
- function _assertApproxEqAbs(int256 a, int256 b, uint256 maxDelta, bool expectFail)
- external
- expectFailure(expectFail)
- {
- assertApproxEqAbs(a, b, maxDelta);
- }
-
- function _assertApproxEqAbs(int256 a, int256 b, uint256 maxDelta, string memory err, bool expectFail)
- external
- expectFailure(expectFail)
- {
- assertApproxEqAbs(a, b, maxDelta, err);
- }
-
- function _assertApproxEqAbsDecimal(int256 a, int256 b, uint256 maxDelta, uint256 decimals, bool expectFail)
- external
- expectFailure(expectFail)
- {
- assertApproxEqAbsDecimal(a, b, maxDelta, decimals);
- }
-
- function _assertApproxEqAbsDecimal(
- int256 a,
- int256 b,
- uint256 maxDelta,
- uint256 decimals,
- string memory err,
- bool expectFail
- ) external expectFailure(expectFail) {
- assertApproxEqAbsDecimal(a, b, maxDelta, decimals, err);
- }
-
- function _assertApproxEqRel(uint256 a, uint256 b, uint256 maxPercentDelta, bool expectFail)
- external
- expectFailure(expectFail)
- {
- assertApproxEqRel(a, b, maxPercentDelta);
- }
-
- function _assertApproxEqRel(uint256 a, uint256 b, uint256 maxPercentDelta, string memory err, bool expectFail)
- external
- expectFailure(expectFail)
- {
- assertApproxEqRel(a, b, maxPercentDelta, err);
- }
-
- function _assertApproxEqRelDecimal(uint256 a, uint256 b, uint256 maxPercentDelta, uint256 decimals, bool expectFail)
- external
- expectFailure(expectFail)
- {
- assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals);
- }
-
- function _assertApproxEqRelDecimal(
- uint256 a,
- uint256 b,
- uint256 maxPercentDelta,
- uint256 decimals,
- string memory err,
- bool expectFail
- ) external expectFailure(expectFail) {
- assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals, err);
- }
-
- function _assertApproxEqRel(int256 a, int256 b, uint256 maxPercentDelta, bool expectFail)
- external
- expectFailure(expectFail)
- {
- assertApproxEqRel(a, b, maxPercentDelta);
- }
-
- function _assertApproxEqRel(int256 a, int256 b, uint256 maxPercentDelta, string memory err, bool expectFail)
- external
- expectFailure(expectFail)
- {
- assertApproxEqRel(a, b, maxPercentDelta, err);
- }
-
- function _assertApproxEqRelDecimal(int256 a, int256 b, uint256 maxPercentDelta, uint256 decimals, bool expectFail)
- external
- expectFailure(expectFail)
- {
- assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals);
- }
-
- function _assertApproxEqRelDecimal(
- int256 a,
- int256 b,
- uint256 maxPercentDelta,
- uint256 decimals,
- string memory err,
- bool expectFail
- ) external expectFailure(expectFail) {
- assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals, err);
- }
-
- function _assertEqCall(
- address targetA,
- bytes memory callDataA,
- address targetB,
- bytes memory callDataB,
- bool strictRevertData,
- bool expectFail
- ) external expectFailure(expectFail) {
- assertEqCall(targetA, callDataA, targetB, callDataB, strictRevertData);
- }
-}
-
-contract TestMockCall {
- bytes returnData;
- bool shouldRevert;
-
- constructor(bytes memory returnData_, bool shouldRevert_) {
- returnData = returnData_;
- shouldRevert = shouldRevert_;
- }
-
- fallback() external payable {
- bytes memory returnData_ = returnData;
-
- if (shouldRevert) {
- assembly {
- revert(add(returnData_, 0x20), mload(returnData_))
- }
- } else {
- assembly {
- return(add(returnData_, 0x20), mload(returnData_))
- }
- }
- }
-}
diff --git a/lib/forge-std/test/StdChains.t.sol b/lib/forge-std/test/StdChains.t.sol
deleted file mode 100644
index 7480e48..0000000
--- a/lib/forge-std/test/StdChains.t.sol
+++ /dev/null
@@ -1,215 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.7.0 <0.9.0;
-
-import "../src/Test.sol";
-
-contract StdChainsMock is Test {
- function exposed_getChain(string memory chainAlias) public returns (Chain memory) {
- return getChain(chainAlias);
- }
-
- function exposed_getChain(uint256 chainId) public returns (Chain memory) {
- return getChain(chainId);
- }
-
- function exposed_setChain(string memory chainAlias, ChainData memory chainData) public {
- setChain(chainAlias, chainData);
- }
-
- function exposed_setFallbackToDefaultRpcUrls(bool useDefault) public {
- setFallbackToDefaultRpcUrls(useDefault);
- }
-}
-
-contract StdChainsTest is Test {
- function testChainRpcInitialization() public {
- // RPCs specified in `foundry.toml` should be updated.
- assertEq(getChain(1).rpcUrl, "https://mainnet.infura.io/v3/b1d3925804e74152b316ca7da97060d3");
- assertEq(getChain("optimism_goerli").rpcUrl, "https://goerli.optimism.io/");
- assertEq(getChain("arbitrum_one_goerli").rpcUrl, "https://goerli-rollup.arbitrum.io/rpc/");
-
- // Environment variables should be the next fallback
- assertEq(getChain("arbitrum_nova").rpcUrl, "https://nova.arbitrum.io/rpc");
- vm.setEnv("ARBITRUM_NOVA_RPC_URL", "myoverride");
- assertEq(getChain("arbitrum_nova").rpcUrl, "myoverride");
- vm.setEnv("ARBITRUM_NOVA_RPC_URL", "https://nova.arbitrum.io/rpc");
-
- // Cannot override RPCs defined in `foundry.toml`
- vm.setEnv("MAINNET_RPC_URL", "myoverride2");
- assertEq(getChain("mainnet").rpcUrl, "https://mainnet.infura.io/v3/b1d3925804e74152b316ca7da97060d3");
-
- // Other RPCs should remain unchanged.
- assertEq(getChain(31337).rpcUrl, "http://127.0.0.1:8545");
- assertEq(getChain("sepolia").rpcUrl, "https://sepolia.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001");
- }
-
- function testRpc(string memory rpcAlias) internal {
- string memory rpcUrl = getChain(rpcAlias).rpcUrl;
- vm.createSelectFork(rpcUrl);
- }
-
- // Ensure we can connect to the default RPC URL for each chain.
- // function testRpcs() public {
- // testRpc("mainnet");
- // testRpc("goerli");
- // testRpc("sepolia");
- // testRpc("optimism");
- // testRpc("optimism_goerli");
- // testRpc("arbitrum_one");
- // testRpc("arbitrum_one_goerli");
- // testRpc("arbitrum_nova");
- // testRpc("polygon");
- // testRpc("polygon_mumbai");
- // testRpc("avalanche");
- // testRpc("avalanche_fuji");
- // testRpc("bnb_smart_chain");
- // testRpc("bnb_smart_chain_testnet");
- // testRpc("gnosis_chain");
- // }
-
- function testChainNoDefault() public {
- // We deploy a mock to properly test the revert.
- StdChainsMock stdChainsMock = new StdChainsMock();
-
- vm.expectRevert("StdChains getChain(string): Chain with alias \"does_not_exist\" not found.");
- stdChainsMock.exposed_getChain("does_not_exist");
- }
-
- function testSetChainFirstFails() public {
- // We deploy a mock to properly test the revert.
- StdChainsMock stdChainsMock = new StdChainsMock();
-
- vm.expectRevert("StdChains setChain(string,ChainData): Chain ID 31337 already used by \"anvil\".");
- stdChainsMock.exposed_setChain("anvil2", ChainData("Anvil", 31337, "URL"));
- }
-
- function testChainBubbleUp() public {
- // We deploy a mock to properly test the revert.
- StdChainsMock stdChainsMock = new StdChainsMock();
-
- stdChainsMock.exposed_setChain("needs_undefined_env_var", ChainData("", 123456789, ""));
- vm.expectRevert(
- "Failed to resolve env var `UNDEFINED_RPC_URL_PLACEHOLDER` in `${UNDEFINED_RPC_URL_PLACEHOLDER}`: environment variable not found"
- );
- stdChainsMock.exposed_getChain("needs_undefined_env_var");
- }
-
- function testCannotSetChain_ChainIdExists() public {
- // We deploy a mock to properly test the revert.
- StdChainsMock stdChainsMock = new StdChainsMock();
-
- stdChainsMock.exposed_setChain("custom_chain", ChainData("Custom Chain", 123456789, "https://custom.chain/"));
-
- vm.expectRevert('StdChains setChain(string,ChainData): Chain ID 123456789 already used by "custom_chain".');
-
- stdChainsMock.exposed_setChain("another_custom_chain", ChainData("", 123456789, ""));
- }
-
- function testSetChain() public {
- setChain("custom_chain", ChainData("Custom Chain", 123456789, "https://custom.chain/"));
- Chain memory customChain = getChain("custom_chain");
- assertEq(customChain.name, "Custom Chain");
- assertEq(customChain.chainId, 123456789);
- assertEq(customChain.chainAlias, "custom_chain");
- assertEq(customChain.rpcUrl, "https://custom.chain/");
- Chain memory chainById = getChain(123456789);
- assertEq(chainById.name, customChain.name);
- assertEq(chainById.chainId, customChain.chainId);
- assertEq(chainById.chainAlias, customChain.chainAlias);
- assertEq(chainById.rpcUrl, customChain.rpcUrl);
- customChain.name = "Another Custom Chain";
- customChain.chainId = 987654321;
- setChain("another_custom_chain", customChain);
- Chain memory anotherCustomChain = getChain("another_custom_chain");
- assertEq(anotherCustomChain.name, "Another Custom Chain");
- assertEq(anotherCustomChain.chainId, 987654321);
- assertEq(anotherCustomChain.chainAlias, "another_custom_chain");
- assertEq(anotherCustomChain.rpcUrl, "https://custom.chain/");
- // Verify the first chain data was not overwritten
- chainById = getChain(123456789);
- assertEq(chainById.name, "Custom Chain");
- assertEq(chainById.chainId, 123456789);
- }
-
- function testSetNoEmptyAlias() public {
- // We deploy a mock to properly test the revert.
- StdChainsMock stdChainsMock = new StdChainsMock();
-
- vm.expectRevert("StdChains setChain(string,ChainData): Chain alias cannot be the empty string.");
- stdChainsMock.exposed_setChain("", ChainData("", 123456789, ""));
- }
-
- function testSetNoChainId0() public {
- // We deploy a mock to properly test the revert.
- StdChainsMock stdChainsMock = new StdChainsMock();
-
- vm.expectRevert("StdChains setChain(string,ChainData): Chain ID cannot be 0.");
- stdChainsMock.exposed_setChain("alias", ChainData("", 0, ""));
- }
-
- function testGetNoChainId0() public {
- // We deploy a mock to properly test the revert.
- StdChainsMock stdChainsMock = new StdChainsMock();
-
- vm.expectRevert("StdChains getChain(uint256): Chain ID cannot be 0.");
- stdChainsMock.exposed_getChain(0);
- }
-
- function testGetNoEmptyAlias() public {
- // We deploy a mock to properly test the revert.
- StdChainsMock stdChainsMock = new StdChainsMock();
-
- vm.expectRevert("StdChains getChain(string): Chain alias cannot be the empty string.");
- stdChainsMock.exposed_getChain("");
- }
-
- function testChainIdNotFound() public {
- // We deploy a mock to properly test the revert.
- StdChainsMock stdChainsMock = new StdChainsMock();
-
- vm.expectRevert("StdChains getChain(string): Chain with alias \"no_such_alias\" not found.");
- stdChainsMock.exposed_getChain("no_such_alias");
- }
-
- function testChainAliasNotFound() public {
- // We deploy a mock to properly test the revert.
- StdChainsMock stdChainsMock = new StdChainsMock();
-
- vm.expectRevert("StdChains getChain(uint256): Chain with ID 321 not found.");
-
- stdChainsMock.exposed_getChain(321);
- }
-
- function testSetChain_ExistingOne() public {
- // We deploy a mock to properly test the revert.
- StdChainsMock stdChainsMock = new StdChainsMock();
-
- setChain("custom_chain", ChainData("Custom Chain", 123456789, "https://custom.chain/"));
- assertEq(getChain(123456789).chainId, 123456789);
-
- setChain("custom_chain", ChainData("Modified Chain", 999999999, "https://modified.chain/"));
- vm.expectRevert("StdChains getChain(uint256): Chain with ID 123456789 not found.");
- stdChainsMock.exposed_getChain(123456789);
-
- Chain memory modifiedChain = getChain(999999999);
- assertEq(modifiedChain.name, "Modified Chain");
- assertEq(modifiedChain.chainId, 999999999);
- assertEq(modifiedChain.rpcUrl, "https://modified.chain/");
- }
-
- function testDontUseDefaultRpcUrl() public {
- // We deploy a mock to properly test the revert.
- StdChainsMock stdChainsMock = new StdChainsMock();
-
- // Should error if default RPCs flag is set to false.
- stdChainsMock.exposed_setFallbackToDefaultRpcUrls(false);
- vm.expectRevert(
- "Failed to get environment variable `ANVIL_RPC_URL` as type `string`: environment variable not found"
- );
- stdChainsMock.exposed_getChain(31337);
- vm.expectRevert(
- "Failed to get environment variable `SEPOLIA_RPC_URL` as type `string`: environment variable not found"
- );
- stdChainsMock.exposed_getChain("sepolia");
- }
-}
diff --git a/lib/forge-std/test/StdCheats.t.sol b/lib/forge-std/test/StdCheats.t.sol
deleted file mode 100644
index 05a5688..0000000
--- a/lib/forge-std/test/StdCheats.t.sol
+++ /dev/null
@@ -1,602 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.7.0 <0.9.0;
-
-import "../src/StdCheats.sol";
-import "../src/Test.sol";
-import "../src/StdJson.sol";
-
-contract StdCheatsTest is Test {
- Bar test;
-
- using stdJson for string;
-
- function setUp() public {
- test = new Bar();
- }
-
- function testSkip() public {
- vm.warp(100);
- skip(25);
- assertEq(block.timestamp, 125);
- }
-
- function testRewind() public {
- vm.warp(100);
- rewind(25);
- assertEq(block.timestamp, 75);
- }
-
- function testHoax() public {
- hoax(address(1337));
- test.bar{value: 100}(address(1337));
- }
-
- function testHoaxOrigin() public {
- hoax(address(1337), address(1337));
- test.origin{value: 100}(address(1337));
- }
-
- function testHoaxDifferentAddresses() public {
- hoax(address(1337), address(7331));
- test.origin{value: 100}(address(1337), address(7331));
- }
-
- function testStartHoax() public {
- startHoax(address(1337));
- test.bar{value: 100}(address(1337));
- test.bar{value: 100}(address(1337));
- vm.stopPrank();
- test.bar(address(this));
- }
-
- function testStartHoaxOrigin() public {
- startHoax(address(1337), address(1337));
- test.origin{value: 100}(address(1337));
- test.origin{value: 100}(address(1337));
- vm.stopPrank();
- test.bar(address(this));
- }
-
- function testChangePrankMsgSender() public {
- vm.startPrank(address(1337));
- test.bar(address(1337));
- changePrank(address(0xdead));
- test.bar(address(0xdead));
- changePrank(address(1337));
- test.bar(address(1337));
- vm.stopPrank();
- }
-
- function testChangePrankMsgSenderAndTxOrigin() public {
- vm.startPrank(address(1337), address(1338));
- test.origin(address(1337), address(1338));
- changePrank(address(0xdead), address(0xbeef));
- test.origin(address(0xdead), address(0xbeef));
- changePrank(address(1337), address(1338));
- test.origin(address(1337), address(1338));
- vm.stopPrank();
- }
-
- function testMakeAccountEquivalence() public {
- Account memory account = makeAccount("1337");
- (address addr, uint256 key) = makeAddrAndKey("1337");
- assertEq(account.addr, addr);
- assertEq(account.key, key);
- }
-
- function testMakeAddrEquivalence() public {
- (address addr,) = makeAddrAndKey("1337");
- assertEq(makeAddr("1337"), addr);
- }
-
- function testMakeAddrSigning() public {
- (address addr, uint256 key) = makeAddrAndKey("1337");
- bytes32 hash = keccak256("some_message");
-
- (uint8 v, bytes32 r, bytes32 s) = vm.sign(key, hash);
- assertEq(ecrecover(hash, v, r, s), addr);
- }
-
- function testDeal() public {
- deal(address(this), 1 ether);
- assertEq(address(this).balance, 1 ether);
- }
-
- function testDealToken() public {
- Bar barToken = new Bar();
- address bar = address(barToken);
- deal(bar, address(this), 10000e18);
- assertEq(barToken.balanceOf(address(this)), 10000e18);
- }
-
- function testDealTokenAdjustTotalSupply() public {
- Bar barToken = new Bar();
- address bar = address(barToken);
- deal(bar, address(this), 10000e18, true);
- assertEq(barToken.balanceOf(address(this)), 10000e18);
- assertEq(barToken.totalSupply(), 20000e18);
- deal(bar, address(this), 0, true);
- assertEq(barToken.balanceOf(address(this)), 0);
- assertEq(barToken.totalSupply(), 10000e18);
- }
-
- function testDealERC1155Token() public {
- BarERC1155 barToken = new BarERC1155();
- address bar = address(barToken);
- dealERC1155(bar, address(this), 0, 10000e18, false);
- assertEq(barToken.balanceOf(address(this), 0), 10000e18);
- }
-
- function testDealERC1155TokenAdjustTotalSupply() public {
- BarERC1155 barToken = new BarERC1155();
- address bar = address(barToken);
- dealERC1155(bar, address(this), 0, 10000e18, true);
- assertEq(barToken.balanceOf(address(this), 0), 10000e18);
- assertEq(barToken.totalSupply(0), 20000e18);
- dealERC1155(bar, address(this), 0, 0, true);
- assertEq(barToken.balanceOf(address(this), 0), 0);
- assertEq(barToken.totalSupply(0), 10000e18);
- }
-
- function testDealERC721Token() public {
- BarERC721 barToken = new BarERC721();
- address bar = address(barToken);
- dealERC721(bar, address(2), 1);
- assertEq(barToken.balanceOf(address(2)), 1);
- assertEq(barToken.balanceOf(address(1)), 0);
- dealERC721(bar, address(1), 2);
- assertEq(barToken.balanceOf(address(1)), 1);
- assertEq(barToken.balanceOf(bar), 1);
- }
-
- function testDeployCode() public {
- address deployed = deployCode("StdCheats.t.sol:Bar", bytes(""));
- assertEq(string(getCode(deployed)), string(getCode(address(test))));
- }
-
- function testDestroyAccount() public {
- // deploy something to destroy it
- BarERC721 barToken = new BarERC721();
- address bar = address(barToken);
- vm.setNonce(bar, 10);
- deal(bar, 100);
-
- uint256 prevThisBalance = address(this).balance;
- uint256 size;
- assembly {
- size := extcodesize(bar)
- }
-
- assertGt(size, 0);
- assertEq(bar.balance, 100);
- assertEq(vm.getNonce(bar), 10);
-
- destroyAccount(bar, address(this));
- assembly {
- size := extcodesize(bar)
- }
- assertEq(address(this).balance, prevThisBalance + 100);
- assertEq(vm.getNonce(bar), 0);
- assertEq(size, 0);
- assertEq(bar.balance, 0);
- }
-
- function testDeployCodeNoArgs() public {
- address deployed = deployCode("StdCheats.t.sol:Bar");
- assertEq(string(getCode(deployed)), string(getCode(address(test))));
- }
-
- function testDeployCodeVal() public {
- address deployed = deployCode("StdCheats.t.sol:Bar", bytes(""), 1 ether);
- assertEq(string(getCode(deployed)), string(getCode(address(test))));
- assertEq(deployed.balance, 1 ether);
- }
-
- function testDeployCodeValNoArgs() public {
- address deployed = deployCode("StdCheats.t.sol:Bar", 1 ether);
- assertEq(string(getCode(deployed)), string(getCode(address(test))));
- assertEq(deployed.balance, 1 ether);
- }
-
- // We need this so we can call "this.deployCode" rather than "deployCode" directly
- function deployCodeHelper(string memory what) external {
- deployCode(what);
- }
-
- function testDeployCodeFail() public {
- vm.expectRevert(bytes("StdCheats deployCode(string): Deployment failed."));
- this.deployCodeHelper("StdCheats.t.sol:RevertingContract");
- }
-
- function getCode(address who) internal view returns (bytes memory o_code) {
- /// @solidity memory-safe-assembly
- assembly {
- // retrieve the size of the code, this needs assembly
- let size := extcodesize(who)
- // allocate output byte array - this could also be done without assembly
- // by using o_code = new bytes(size)
- o_code := mload(0x40)
- // new "memory end" including padding
- mstore(0x40, add(o_code, and(add(add(size, 0x20), 0x1f), not(0x1f))))
- // store length in memory
- mstore(o_code, size)
- // actually retrieve the code, this needs assembly
- extcodecopy(who, add(o_code, 0x20), 0, size)
- }
- }
-
- function testDeriveRememberKey() public {
- string memory mnemonic = "test test test test test test test test test test test junk";
-
- (address deployer, uint256 privateKey) = deriveRememberKey(mnemonic, 0);
- assertEq(deployer, 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266);
- assertEq(privateKey, 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80);
- }
-
- function testBytesToUint() public {
- assertEq(3, bytesToUint_test(hex"03"));
- assertEq(2, bytesToUint_test(hex"02"));
- assertEq(255, bytesToUint_test(hex"ff"));
- assertEq(29625, bytesToUint_test(hex"73b9"));
- }
-
- function testParseJsonTxDetail() public {
- string memory root = vm.projectRoot();
- string memory path = string.concat(root, "/test/fixtures/broadcast.log.json");
- string memory json = vm.readFile(path);
- bytes memory transactionDetails = json.parseRaw(".transactions[0].tx");
- RawTx1559Detail memory rawTxDetail = abi.decode(transactionDetails, (RawTx1559Detail));
- Tx1559Detail memory txDetail = rawToConvertedEIP1559Detail(rawTxDetail);
- assertEq(txDetail.from, 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266);
- assertEq(txDetail.to, 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512);
- assertEq(
- txDetail.data,
- hex"23e99187000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000013370000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000004"
- );
- assertEq(txDetail.nonce, 3);
- assertEq(txDetail.txType, 2);
- assertEq(txDetail.gas, 29625);
- assertEq(txDetail.value, 0);
- }
-
- function testReadEIP1559Transaction() public view {
- string memory root = vm.projectRoot();
- string memory path = string.concat(root, "/test/fixtures/broadcast.log.json");
- uint256 index = 0;
- Tx1559 memory transaction = readTx1559(path, index);
- transaction;
- }
-
- function testReadEIP1559Transactions() public view {
- string memory root = vm.projectRoot();
- string memory path = string.concat(root, "/test/fixtures/broadcast.log.json");
- Tx1559[] memory transactions = readTx1559s(path);
- transactions;
- }
-
- function testReadReceipt() public {
- string memory root = vm.projectRoot();
- string memory path = string.concat(root, "/test/fixtures/broadcast.log.json");
- uint256 index = 5;
- Receipt memory receipt = readReceipt(path, index);
- assertEq(
- receipt.logsBloom,
- hex"00000000000800000000000000000010000000000000000000000000000180000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100"
- );
- }
-
- function testReadReceipts() public view {
- string memory root = vm.projectRoot();
- string memory path = string.concat(root, "/test/fixtures/broadcast.log.json");
- Receipt[] memory receipts = readReceipts(path);
- receipts;
- }
-
- function testGasMeteringModifier() public {
- uint256 gas_start_normal = gasleft();
- addInLoop();
- uint256 gas_used_normal = gas_start_normal - gasleft();
-
- uint256 gas_start_single = gasleft();
- addInLoopNoGas();
- uint256 gas_used_single = gas_start_single - gasleft();
-
- uint256 gas_start_double = gasleft();
- addInLoopNoGasNoGas();
- uint256 gas_used_double = gas_start_double - gasleft();
-
- emit log_named_uint("Normal gas", gas_used_normal);
- emit log_named_uint("Single modifier gas", gas_used_single);
- emit log_named_uint("Double modifier gas", gas_used_double);
- assertTrue(gas_used_double + gas_used_single < gas_used_normal);
- }
-
- function addInLoop() internal pure returns (uint256) {
- uint256 b;
- for (uint256 i; i < 10000; i++) {
- b += i;
- }
- return b;
- }
-
- function addInLoopNoGas() internal noGasMetering returns (uint256) {
- return addInLoop();
- }
-
- function addInLoopNoGasNoGas() internal noGasMetering returns (uint256) {
- return addInLoopNoGas();
- }
-
- function bytesToUint_test(bytes memory b) private pure returns (uint256) {
- uint256 number;
- for (uint256 i = 0; i < b.length; i++) {
- number = number + uint256(uint8(b[i])) * (2 ** (8 * (b.length - (i + 1))));
- }
- return number;
- }
-
- function testAssumeAddressIsNot(address addr) external {
- // skip over Payable and NonPayable enums
- for (uint8 i = 2; i < uint8(type(AddressType).max); i++) {
- assumeAddressIsNot(addr, AddressType(i));
- }
- assertTrue(addr != address(0));
- assertTrue(addr < address(1) || addr > address(9));
- assertTrue(addr != address(vm) || addr != 0x000000000000000000636F6e736F6c652e6c6f67);
- }
-
- function testAssumePayable() external {
- // We deploy a mock version so we can properly test the revert.
- StdCheatsMock stdCheatsMock = new StdCheatsMock();
-
- // all should revert since these addresses are not payable
-
- // VM address
- vm.expectRevert();
- stdCheatsMock.exposed_assumePayable(0x7109709ECfa91a80626fF3989D68f67F5b1DD12D);
-
- // Console address
- vm.expectRevert();
- stdCheatsMock.exposed_assumePayable(0x000000000000000000636F6e736F6c652e6c6f67);
-
- // Create2Deployer
- vm.expectRevert();
- stdCheatsMock.exposed_assumePayable(0x4e59b44847b379578588920cA78FbF26c0B4956C);
-
- // all should pass since these addresses are payable
-
- // vitalik.eth
- stdCheatsMock.exposed_assumePayable(0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045);
-
- // mock payable contract
- MockContractPayable cp = new MockContractPayable();
- stdCheatsMock.exposed_assumePayable(address(cp));
- }
-
- function testAssumeNotPayable() external {
- // We deploy a mock version so we can properly test the revert.
- StdCheatsMock stdCheatsMock = new StdCheatsMock();
-
- // all should pass since these addresses are not payable
-
- // VM address
- stdCheatsMock.exposed_assumeNotPayable(0x7109709ECfa91a80626fF3989D68f67F5b1DD12D);
-
- // Console address
- stdCheatsMock.exposed_assumeNotPayable(0x000000000000000000636F6e736F6c652e6c6f67);
-
- // Create2Deployer
- stdCheatsMock.exposed_assumeNotPayable(0x4e59b44847b379578588920cA78FbF26c0B4956C);
-
- // all should revert since these addresses are payable
-
- // vitalik.eth
- vm.expectRevert();
- stdCheatsMock.exposed_assumeNotPayable(0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045);
-
- // mock payable contract
- MockContractPayable cp = new MockContractPayable();
- vm.expectRevert();
- stdCheatsMock.exposed_assumeNotPayable(address(cp));
- }
-
- function testAssumeNotPrecompile(address addr) external {
- assumeNotPrecompile(addr, getChain("optimism_goerli").chainId);
- assertTrue(
- addr < address(1) || (addr > address(9) && addr < address(0x4200000000000000000000000000000000000000))
- || addr > address(0x4200000000000000000000000000000000000800)
- );
- }
-
- function testCannotDeployCodeTo() external {
- vm.expectRevert("StdCheats deployCodeTo(string,bytes,uint256,address): Failed to create runtime bytecode.");
- this._revertDeployCodeTo();
- }
-
- function _revertDeployCodeTo() external {
- deployCodeTo("StdCheats.t.sol:RevertingContract", address(0));
- }
-
- function testDeployCodeTo() external {
- address arbitraryAddress = makeAddr("arbitraryAddress");
-
- deployCodeTo(
- "StdCheats.t.sol:MockContractWithConstructorArgs",
- abi.encode(uint256(6), true, bytes20(arbitraryAddress)),
- 1 ether,
- arbitraryAddress
- );
-
- MockContractWithConstructorArgs ct = MockContractWithConstructorArgs(arbitraryAddress);
-
- assertEq(arbitraryAddress.balance, 1 ether);
- assertEq(ct.x(), 6);
- assertTrue(ct.y());
- assertEq(ct.z(), bytes20(arbitraryAddress));
- }
-}
-
-contract StdCheatsMock is StdCheats {
- function exposed_assumePayable(address addr) external {
- assumePayable(addr);
- }
-
- function exposed_assumeNotPayable(address addr) external {
- assumeNotPayable(addr);
- }
-
- // We deploy a mock version so we can properly test expected reverts.
- function exposed_assumeNotBlacklisted(address token, address addr) external view {
- return assumeNotBlacklisted(token, addr);
- }
-}
-
-contract StdCheatsForkTest is Test {
- address internal constant SHIB = 0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE;
- address internal constant USDC = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48;
- address internal constant USDC_BLACKLISTED_USER = 0x1E34A77868E19A6647b1f2F47B51ed72dEDE95DD;
- address internal constant USDT = 0xdAC17F958D2ee523a2206206994597C13D831ec7;
- address internal constant USDT_BLACKLISTED_USER = 0x8f8a8F4B54a2aAC7799d7bc81368aC27b852822A;
-
- function setUp() public {
- // All tests of the `assumeNotBlacklisted` method are fork tests using live contracts.
- vm.createSelectFork({urlOrAlias: "mainnet", blockNumber: 16_428_900});
- }
-
- function testCannotAssumeNoBlacklisted_EOA() external {
- // We deploy a mock version so we can properly test the revert.
- StdCheatsMock stdCheatsMock = new StdCheatsMock();
- address eoa = vm.addr({privateKey: 1});
- vm.expectRevert("StdCheats assumeNotBlacklisted(address,address): Token address is not a contract.");
- stdCheatsMock.exposed_assumeNotBlacklisted(eoa, address(0));
- }
-
- function testAssumeNotBlacklisted_TokenWithoutBlacklist(address addr) external {
- assumeNotBlacklisted(SHIB, addr);
- assertTrue(true);
- }
-
- function testAssumeNoBlacklisted_USDC() external {
- // We deploy a mock version so we can properly test the revert.
- StdCheatsMock stdCheatsMock = new StdCheatsMock();
- vm.expectRevert();
- stdCheatsMock.exposed_assumeNotBlacklisted(USDC, USDC_BLACKLISTED_USER);
- }
-
- function testAssumeNotBlacklisted_USDC(address addr) external {
- assumeNotBlacklisted(USDC, addr);
- assertFalse(USDCLike(USDC).isBlacklisted(addr));
- }
-
- function testAssumeNoBlacklisted_USDT() external {
- // We deploy a mock version so we can properly test the revert.
- StdCheatsMock stdCheatsMock = new StdCheatsMock();
- vm.expectRevert();
- stdCheatsMock.exposed_assumeNotBlacklisted(USDT, USDT_BLACKLISTED_USER);
- }
-
- function testAssumeNotBlacklisted_USDT(address addr) external {
- assumeNotBlacklisted(USDT, addr);
- assertFalse(USDTLike(USDT).isBlackListed(addr));
- }
-}
-
-contract Bar {
- constructor() payable {
- /// `DEAL` STDCHEAT
- totalSupply = 10000e18;
- balanceOf[address(this)] = totalSupply;
- }
-
- /// `HOAX` and `CHANGEPRANK` STDCHEATS
- function bar(address expectedSender) public payable {
- require(msg.sender == expectedSender, "!prank");
- }
-
- function origin(address expectedSender) public payable {
- require(msg.sender == expectedSender, "!prank");
- require(tx.origin == expectedSender, "!prank");
- }
-
- function origin(address expectedSender, address expectedOrigin) public payable {
- require(msg.sender == expectedSender, "!prank");
- require(tx.origin == expectedOrigin, "!prank");
- }
-
- /// `DEAL` STDCHEAT
- mapping(address => uint256) public balanceOf;
- uint256 public totalSupply;
-}
-
-contract BarERC1155 {
- constructor() payable {
- /// `DEALERC1155` STDCHEAT
- _totalSupply[0] = 10000e18;
- _balances[0][address(this)] = _totalSupply[0];
- }
-
- function balanceOf(address account, uint256 id) public view virtual returns (uint256) {
- return _balances[id][account];
- }
-
- function totalSupply(uint256 id) public view virtual returns (uint256) {
- return _totalSupply[id];
- }
-
- /// `DEALERC1155` STDCHEAT
- mapping(uint256 => mapping(address => uint256)) private _balances;
- mapping(uint256 => uint256) private _totalSupply;
-}
-
-contract BarERC721 {
- constructor() payable {
- /// `DEALERC721` STDCHEAT
- _owners[1] = address(1);
- _balances[address(1)] = 1;
- _owners[2] = address(this);
- _owners[3] = address(this);
- _balances[address(this)] = 2;
- }
-
- function balanceOf(address owner) public view virtual returns (uint256) {
- return _balances[owner];
- }
-
- function ownerOf(uint256 tokenId) public view virtual returns (address) {
- address owner = _owners[tokenId];
- return owner;
- }
-
- mapping(uint256 => address) private _owners;
- mapping(address => uint256) private _balances;
-}
-
-interface USDCLike {
- function isBlacklisted(address) external view returns (bool);
-}
-
-interface USDTLike {
- function isBlackListed(address) external view returns (bool);
-}
-
-contract RevertingContract {
- constructor() {
- revert();
- }
-}
-
-contract MockContractWithConstructorArgs {
- uint256 public immutable x;
- bool public y;
- bytes20 public z;
-
- constructor(uint256 _x, bool _y, bytes20 _z) payable {
- x = _x;
- y = _y;
- z = _z;
- }
-}
-
-contract MockContractPayable {
- receive() external payable {}
-}
diff --git a/lib/forge-std/test/StdError.t.sol b/lib/forge-std/test/StdError.t.sol
deleted file mode 100644
index ccd3efa..0000000
--- a/lib/forge-std/test/StdError.t.sol
+++ /dev/null
@@ -1,118 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.8.0 <0.9.0;
-
-import "../src/StdError.sol";
-import "../src/Test.sol";
-
-contract StdErrorsTest is Test {
- ErrorsTest test;
-
- function setUp() public {
- test = new ErrorsTest();
- }
-
- function testExpectAssertion() public {
- vm.expectRevert(stdError.assertionError);
- test.assertionError();
- }
-
- function testExpectArithmetic() public {
- vm.expectRevert(stdError.arithmeticError);
- test.arithmeticError(10);
- }
-
- function testExpectDiv() public {
- vm.expectRevert(stdError.divisionError);
- test.divError(0);
- }
-
- function testExpectMod() public {
- vm.expectRevert(stdError.divisionError);
- test.modError(0);
- }
-
- function testExpectEnum() public {
- vm.expectRevert(stdError.enumConversionError);
- test.enumConversion(1);
- }
-
- function testExpectEncodeStg() public {
- vm.expectRevert(stdError.encodeStorageError);
- test.encodeStgError();
- }
-
- function testExpectPop() public {
- vm.expectRevert(stdError.popError);
- test.pop();
- }
-
- function testExpectOOB() public {
- vm.expectRevert(stdError.indexOOBError);
- test.indexOOBError(1);
- }
-
- function testExpectMem() public {
- vm.expectRevert(stdError.memOverflowError);
- test.mem();
- }
-
- function testExpectIntern() public {
- vm.expectRevert(stdError.zeroVarError);
- test.intern();
- }
-}
-
-contract ErrorsTest {
- enum T {T1}
-
- uint256[] public someArr;
- bytes someBytes;
-
- function assertionError() public pure {
- assert(false);
- }
-
- function arithmeticError(uint256 a) public pure {
- a -= 100;
- }
-
- function divError(uint256 a) public pure {
- 100 / a;
- }
-
- function modError(uint256 a) public pure {
- 100 % a;
- }
-
- function enumConversion(uint256 a) public pure {
- T(a);
- }
-
- function encodeStgError() public {
- /// @solidity memory-safe-assembly
- assembly {
- sstore(someBytes.slot, 1)
- }
- keccak256(someBytes);
- }
-
- function pop() public {
- someArr.pop();
- }
-
- function indexOOBError(uint256 a) public pure {
- uint256[] memory t = new uint256[](0);
- t[a];
- }
-
- function mem() public pure {
- uint256 l = 2 ** 256 / 32;
- new uint256[](l);
- }
-
- function intern() public returns (uint256) {
- function(uint256) internal returns (uint256) x;
- x(2);
- return 7;
- }
-}
diff --git a/lib/forge-std/test/StdMath.t.sol b/lib/forge-std/test/StdMath.t.sol
deleted file mode 100644
index 31c8a31..0000000
--- a/lib/forge-std/test/StdMath.t.sol
+++ /dev/null
@@ -1,212 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.8.0 <0.9.0;
-
-import "../src/StdMath.sol";
-import "../src/Test.sol";
-
-contract StdMathMock is Test {
- function exposed_percentDelta(uint256 a, uint256 b) public pure returns (uint256) {
- return stdMath.percentDelta(a, b);
- }
-
- function exposed_percentDelta(int256 a, int256 b) public pure returns (uint256) {
- return stdMath.percentDelta(a, b);
- }
-}
-
-contract StdMathTest is Test {
- function testGetAbs() external {
- assertEq(stdMath.abs(-50), 50);
- assertEq(stdMath.abs(50), 50);
- assertEq(stdMath.abs(-1337), 1337);
- assertEq(stdMath.abs(0), 0);
-
- assertEq(stdMath.abs(type(int256).min), (type(uint256).max >> 1) + 1);
- assertEq(stdMath.abs(type(int256).max), (type(uint256).max >> 1));
- }
-
- function testGetAbs_Fuzz(int256 a) external {
- uint256 manualAbs = getAbs(a);
-
- uint256 abs = stdMath.abs(a);
-
- assertEq(abs, manualAbs);
- }
-
- function testGetDelta_Uint() external {
- assertEq(stdMath.delta(uint256(0), uint256(0)), 0);
- assertEq(stdMath.delta(uint256(0), uint256(1337)), 1337);
- assertEq(stdMath.delta(uint256(0), type(uint64).max), type(uint64).max);
- assertEq(stdMath.delta(uint256(0), type(uint128).max), type(uint128).max);
- assertEq(stdMath.delta(uint256(0), type(uint256).max), type(uint256).max);
-
- assertEq(stdMath.delta(0, uint256(0)), 0);
- assertEq(stdMath.delta(1337, uint256(0)), 1337);
- assertEq(stdMath.delta(type(uint64).max, uint256(0)), type(uint64).max);
- assertEq(stdMath.delta(type(uint128).max, uint256(0)), type(uint128).max);
- assertEq(stdMath.delta(type(uint256).max, uint256(0)), type(uint256).max);
-
- assertEq(stdMath.delta(1337, uint256(1337)), 0);
- assertEq(stdMath.delta(type(uint256).max, type(uint256).max), 0);
- assertEq(stdMath.delta(5000, uint256(1250)), 3750);
- }
-
- function testGetDelta_Uint_Fuzz(uint256 a, uint256 b) external {
- uint256 manualDelta;
- if (a > b) {
- manualDelta = a - b;
- } else {
- manualDelta = b - a;
- }
-
- uint256 delta = stdMath.delta(a, b);
-
- assertEq(delta, manualDelta);
- }
-
- function testGetDelta_Int() external {
- assertEq(stdMath.delta(int256(0), int256(0)), 0);
- assertEq(stdMath.delta(int256(0), int256(1337)), 1337);
- assertEq(stdMath.delta(int256(0), type(int64).max), type(uint64).max >> 1);
- assertEq(stdMath.delta(int256(0), type(int128).max), type(uint128).max >> 1);
- assertEq(stdMath.delta(int256(0), type(int256).max), type(uint256).max >> 1);
-
- assertEq(stdMath.delta(0, int256(0)), 0);
- assertEq(stdMath.delta(1337, int256(0)), 1337);
- assertEq(stdMath.delta(type(int64).max, int256(0)), type(uint64).max >> 1);
- assertEq(stdMath.delta(type(int128).max, int256(0)), type(uint128).max >> 1);
- assertEq(stdMath.delta(type(int256).max, int256(0)), type(uint256).max >> 1);
-
- assertEq(stdMath.delta(-0, int256(0)), 0);
- assertEq(stdMath.delta(-1337, int256(0)), 1337);
- assertEq(stdMath.delta(type(int64).min, int256(0)), (type(uint64).max >> 1) + 1);
- assertEq(stdMath.delta(type(int128).min, int256(0)), (type(uint128).max >> 1) + 1);
- assertEq(stdMath.delta(type(int256).min, int256(0)), (type(uint256).max >> 1) + 1);
-
- assertEq(stdMath.delta(int256(0), -0), 0);
- assertEq(stdMath.delta(int256(0), -1337), 1337);
- assertEq(stdMath.delta(int256(0), type(int64).min), (type(uint64).max >> 1) + 1);
- assertEq(stdMath.delta(int256(0), type(int128).min), (type(uint128).max >> 1) + 1);
- assertEq(stdMath.delta(int256(0), type(int256).min), (type(uint256).max >> 1) + 1);
-
- assertEq(stdMath.delta(1337, int256(1337)), 0);
- assertEq(stdMath.delta(type(int256).max, type(int256).max), 0);
- assertEq(stdMath.delta(type(int256).min, type(int256).min), 0);
- assertEq(stdMath.delta(type(int256).min, type(int256).max), type(uint256).max);
- assertEq(stdMath.delta(5000, int256(1250)), 3750);
- }
-
- function testGetDelta_Int_Fuzz(int256 a, int256 b) external {
- uint256 absA = getAbs(a);
- uint256 absB = getAbs(b);
- uint256 absDelta = absA > absB ? absA - absB : absB - absA;
-
- uint256 manualDelta;
- if ((a >= 0 && b >= 0) || (a < 0 && b < 0)) {
- manualDelta = absDelta;
- }
- // (a < 0 && b >= 0) || (a >= 0 && b < 0)
- else {
- manualDelta = absA + absB;
- }
-
- uint256 delta = stdMath.delta(a, b);
-
- assertEq(delta, manualDelta);
- }
-
- function testGetPercentDelta_Uint() external {
- StdMathMock stdMathMock = new StdMathMock();
-
- assertEq(stdMath.percentDelta(uint256(0), uint256(1337)), 1e18);
- assertEq(stdMath.percentDelta(uint256(0), type(uint64).max), 1e18);
- assertEq(stdMath.percentDelta(uint256(0), type(uint128).max), 1e18);
- assertEq(stdMath.percentDelta(uint256(0), type(uint192).max), 1e18);
-
- assertEq(stdMath.percentDelta(1337, uint256(1337)), 0);
- assertEq(stdMath.percentDelta(type(uint192).max, type(uint192).max), 0);
- assertEq(stdMath.percentDelta(0, uint256(2500)), 1e18);
- assertEq(stdMath.percentDelta(2500, uint256(2500)), 0);
- assertEq(stdMath.percentDelta(5000, uint256(2500)), 1e18);
- assertEq(stdMath.percentDelta(7500, uint256(2500)), 2e18);
-
- vm.expectRevert(stdError.divisionError);
- stdMathMock.exposed_percentDelta(uint256(1), 0);
- }
-
- function testGetPercentDelta_Uint_Fuzz(uint192 a, uint192 b) external {
- vm.assume(b != 0);
- uint256 manualDelta;
- if (a > b) {
- manualDelta = a - b;
- } else {
- manualDelta = b - a;
- }
-
- uint256 manualPercentDelta = manualDelta * 1e18 / b;
- uint256 percentDelta = stdMath.percentDelta(a, b);
-
- assertEq(percentDelta, manualPercentDelta);
- }
-
- function testGetPercentDelta_Int() external {
- // We deploy a mock version so we can properly test the revert.
- StdMathMock stdMathMock = new StdMathMock();
-
- assertEq(stdMath.percentDelta(int256(0), int256(1337)), 1e18);
- assertEq(stdMath.percentDelta(int256(0), -1337), 1e18);
- assertEq(stdMath.percentDelta(int256(0), type(int64).min), 1e18);
- assertEq(stdMath.percentDelta(int256(0), type(int128).min), 1e18);
- assertEq(stdMath.percentDelta(int256(0), type(int192).min), 1e18);
- assertEq(stdMath.percentDelta(int256(0), type(int64).max), 1e18);
- assertEq(stdMath.percentDelta(int256(0), type(int128).max), 1e18);
- assertEq(stdMath.percentDelta(int256(0), type(int192).max), 1e18);
-
- assertEq(stdMath.percentDelta(1337, int256(1337)), 0);
- assertEq(stdMath.percentDelta(type(int192).max, type(int192).max), 0);
- assertEq(stdMath.percentDelta(type(int192).min, type(int192).min), 0);
-
- assertEq(stdMath.percentDelta(type(int192).min, type(int192).max), 2e18); // rounds the 1 wei diff down
- assertEq(stdMath.percentDelta(type(int192).max, type(int192).min), 2e18 - 1); // rounds the 1 wei diff down
- assertEq(stdMath.percentDelta(0, int256(2500)), 1e18);
- assertEq(stdMath.percentDelta(2500, int256(2500)), 0);
- assertEq(stdMath.percentDelta(5000, int256(2500)), 1e18);
- assertEq(stdMath.percentDelta(7500, int256(2500)), 2e18);
-
- vm.expectRevert(stdError.divisionError);
- stdMathMock.exposed_percentDelta(int256(1), 0);
- }
-
- function testGetPercentDelta_Int_Fuzz(int192 a, int192 b) external {
- vm.assume(b != 0);
- uint256 absA = getAbs(a);
- uint256 absB = getAbs(b);
- uint256 absDelta = absA > absB ? absA - absB : absB - absA;
-
- uint256 manualDelta;
- if ((a >= 0 && b >= 0) || (a < 0 && b < 0)) {
- manualDelta = absDelta;
- }
- // (a < 0 && b >= 0) || (a >= 0 && b < 0)
- else {
- manualDelta = absA + absB;
- }
-
- uint256 manualPercentDelta = manualDelta * 1e18 / absB;
- uint256 percentDelta = stdMath.percentDelta(a, b);
-
- assertEq(percentDelta, manualPercentDelta);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- HELPERS
- //////////////////////////////////////////////////////////////////////////*/
-
- function getAbs(int256 a) private pure returns (uint256) {
- if (a < 0) {
- return a == type(int256).min ? uint256(type(int256).max) + 1 : uint256(-a);
- }
-
- return uint256(a);
- }
-}
diff --git a/lib/forge-std/test/StdStorage.t.sol b/lib/forge-std/test/StdStorage.t.sol
deleted file mode 100644
index fbf169d..0000000
--- a/lib/forge-std/test/StdStorage.t.sol
+++ /dev/null
@@ -1,293 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.7.0 <0.9.0;
-
-import "../src/StdStorage.sol";
-import "../src/Test.sol";
-
-contract StdStorageTest is Test {
- using stdStorage for StdStorage;
-
- StorageTest internal test;
-
- function setUp() public {
- test = new StorageTest();
- }
-
- function testStorageHidden() public {
- assertEq(uint256(keccak256("my.random.var")), stdstore.target(address(test)).sig("hidden()").find());
- }
-
- function testStorageObvious() public {
- assertEq(uint256(0), stdstore.target(address(test)).sig("exists()").find());
- }
-
- function testStorageCheckedWriteHidden() public {
- stdstore.target(address(test)).sig(test.hidden.selector).checked_write(100);
- assertEq(uint256(test.hidden()), 100);
- }
-
- function testStorageCheckedWriteObvious() public {
- stdstore.target(address(test)).sig(test.exists.selector).checked_write(100);
- assertEq(test.exists(), 100);
- }
-
- function testStorageCheckedWriteSignedIntegerHidden() public {
- stdstore.target(address(test)).sig(test.hidden.selector).checked_write_int(-100);
- assertEq(int256(uint256(test.hidden())), -100);
- }
-
- function testStorageCheckedWriteSignedIntegerObvious() public {
- stdstore.target(address(test)).sig(test.tG.selector).checked_write_int(-100);
- assertEq(test.tG(), -100);
- }
-
- function testStorageMapStructA() public {
- uint256 slot =
- stdstore.target(address(test)).sig(test.map_struct.selector).with_key(address(this)).depth(0).find();
- assertEq(uint256(keccak256(abi.encode(address(this), 4))), slot);
- }
-
- function testStorageMapStructB() public {
- uint256 slot =
- stdstore.target(address(test)).sig(test.map_struct.selector).with_key(address(this)).depth(1).find();
- assertEq(uint256(keccak256(abi.encode(address(this), 4))) + 1, slot);
- }
-
- function testStorageDeepMap() public {
- uint256 slot = stdstore.target(address(test)).sig(test.deep_map.selector).with_key(address(this)).with_key(
- address(this)
- ).find();
- assertEq(uint256(keccak256(abi.encode(address(this), keccak256(abi.encode(address(this), uint256(5)))))), slot);
- }
-
- function testStorageCheckedWriteDeepMap() public {
- stdstore.target(address(test)).sig(test.deep_map.selector).with_key(address(this)).with_key(address(this))
- .checked_write(100);
- assertEq(100, test.deep_map(address(this), address(this)));
- }
-
- function testStorageDeepMapStructA() public {
- uint256 slot = stdstore.target(address(test)).sig(test.deep_map_struct.selector).with_key(address(this))
- .with_key(address(this)).depth(0).find();
- assertEq(
- bytes32(uint256(keccak256(abi.encode(address(this), keccak256(abi.encode(address(this), uint256(6)))))) + 0),
- bytes32(slot)
- );
- }
-
- function testStorageDeepMapStructB() public {
- uint256 slot = stdstore.target(address(test)).sig(test.deep_map_struct.selector).with_key(address(this))
- .with_key(address(this)).depth(1).find();
- assertEq(
- bytes32(uint256(keccak256(abi.encode(address(this), keccak256(abi.encode(address(this), uint256(6)))))) + 1),
- bytes32(slot)
- );
- }
-
- function testStorageCheckedWriteDeepMapStructA() public {
- stdstore.target(address(test)).sig(test.deep_map_struct.selector).with_key(address(this)).with_key(
- address(this)
- ).depth(0).checked_write(100);
- (uint256 a, uint256 b) = test.deep_map_struct(address(this), address(this));
- assertEq(100, a);
- assertEq(0, b);
- }
-
- function testStorageCheckedWriteDeepMapStructB() public {
- stdstore.target(address(test)).sig(test.deep_map_struct.selector).with_key(address(this)).with_key(
- address(this)
- ).depth(1).checked_write(100);
- (uint256 a, uint256 b) = test.deep_map_struct(address(this), address(this));
- assertEq(0, a);
- assertEq(100, b);
- }
-
- function testStorageCheckedWriteMapStructA() public {
- stdstore.target(address(test)).sig(test.map_struct.selector).with_key(address(this)).depth(0).checked_write(100);
- (uint256 a, uint256 b) = test.map_struct(address(this));
- assertEq(a, 100);
- assertEq(b, 0);
- }
-
- function testStorageCheckedWriteMapStructB() public {
- stdstore.target(address(test)).sig(test.map_struct.selector).with_key(address(this)).depth(1).checked_write(100);
- (uint256 a, uint256 b) = test.map_struct(address(this));
- assertEq(a, 0);
- assertEq(b, 100);
- }
-
- function testStorageStructA() public {
- uint256 slot = stdstore.target(address(test)).sig(test.basic.selector).depth(0).find();
- assertEq(uint256(7), slot);
- }
-
- function testStorageStructB() public {
- uint256 slot = stdstore.target(address(test)).sig(test.basic.selector).depth(1).find();
- assertEq(uint256(7) + 1, slot);
- }
-
- function testStorageCheckedWriteStructA() public {
- stdstore.target(address(test)).sig(test.basic.selector).depth(0).checked_write(100);
- (uint256 a, uint256 b) = test.basic();
- assertEq(a, 100);
- assertEq(b, 1337);
- }
-
- function testStorageCheckedWriteStructB() public {
- stdstore.target(address(test)).sig(test.basic.selector).depth(1).checked_write(100);
- (uint256 a, uint256 b) = test.basic();
- assertEq(a, 1337);
- assertEq(b, 100);
- }
-
- function testStorageMapAddrFound() public {
- uint256 slot = stdstore.target(address(test)).sig(test.map_addr.selector).with_key(address(this)).find();
- assertEq(uint256(keccak256(abi.encode(address(this), uint256(1)))), slot);
- }
-
- function testStorageMapUintFound() public {
- uint256 slot = stdstore.target(address(test)).sig(test.map_uint.selector).with_key(100).find();
- assertEq(uint256(keccak256(abi.encode(100, uint256(2)))), slot);
- }
-
- function testStorageCheckedWriteMapUint() public {
- stdstore.target(address(test)).sig(test.map_uint.selector).with_key(100).checked_write(100);
- assertEq(100, test.map_uint(100));
- }
-
- function testStorageCheckedWriteMapAddr() public {
- stdstore.target(address(test)).sig(test.map_addr.selector).with_key(address(this)).checked_write(100);
- assertEq(100, test.map_addr(address(this)));
- }
-
- function testStorageCheckedWriteMapBool() public {
- stdstore.target(address(test)).sig(test.map_bool.selector).with_key(address(this)).checked_write(true);
- assertTrue(test.map_bool(address(this)));
- }
-
- function testFailStorageCheckedWriteMapPacked() public {
- // expect PackedSlot error but not external call so cant expectRevert
- stdstore.target(address(test)).sig(test.read_struct_lower.selector).with_key(address(uint160(1337)))
- .checked_write(100);
- }
-
- function testStorageCheckedWriteMapPackedSuccess() public {
- uint256 full = test.map_packed(address(1337));
- // keep upper 128, set lower 128 to 1337
- full = (full & (uint256((1 << 128) - 1) << 128)) | 1337;
- stdstore.target(address(test)).sig(test.map_packed.selector).with_key(address(uint160(1337))).checked_write(
- full
- );
- assertEq(1337, test.read_struct_lower(address(1337)));
- }
-
- function testFailStorageConst() public {
- // vm.expectRevert(abi.encodeWithSignature("NotStorage(bytes4)", bytes4(keccak256("const()"))));
- stdstore.target(address(test)).sig("const()").find();
- }
-
- function testFailStorageNativePack() public {
- stdstore.target(address(test)).sig(test.tA.selector).find();
- stdstore.target(address(test)).sig(test.tB.selector).find();
-
- // these both would fail
- stdstore.target(address(test)).sig(test.tC.selector).find();
- stdstore.target(address(test)).sig(test.tD.selector).find();
- }
-
- function testStorageReadBytes32() public {
- bytes32 val = stdstore.target(address(test)).sig(test.tE.selector).read_bytes32();
- assertEq(val, hex"1337");
- }
-
- function testStorageReadBool_False() public {
- bool val = stdstore.target(address(test)).sig(test.tB.selector).read_bool();
- assertEq(val, false);
- }
-
- function testStorageReadBool_True() public {
- bool val = stdstore.target(address(test)).sig(test.tH.selector).read_bool();
- assertEq(val, true);
- }
-
- function testStorageReadBool_Revert() public {
- vm.expectRevert("stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.");
- this.readNonBoolValue();
- }
-
- function readNonBoolValue() public {
- stdstore.target(address(test)).sig(test.tE.selector).read_bool();
- }
-
- function testStorageReadAddress() public {
- address val = stdstore.target(address(test)).sig(test.tF.selector).read_address();
- assertEq(val, address(1337));
- }
-
- function testStorageReadUint() public {
- uint256 val = stdstore.target(address(test)).sig(test.exists.selector).read_uint();
- assertEq(val, 1);
- }
-
- function testStorageReadInt() public {
- int256 val = stdstore.target(address(test)).sig(test.tG.selector).read_int();
- assertEq(val, type(int256).min);
- }
-}
-
-contract StorageTest {
- uint256 public exists = 1;
- mapping(address => uint256) public map_addr;
- mapping(uint256 => uint256) public map_uint;
- mapping(address => uint256) public map_packed;
- mapping(address => UnpackedStruct) public map_struct;
- mapping(address => mapping(address => uint256)) public deep_map;
- mapping(address => mapping(address => UnpackedStruct)) public deep_map_struct;
- UnpackedStruct public basic;
-
- uint248 public tA;
- bool public tB;
-
- bool public tC = false;
- uint248 public tD = 1;
-
- struct UnpackedStruct {
- uint256 a;
- uint256 b;
- }
-
- mapping(address => bool) public map_bool;
-
- bytes32 public tE = hex"1337";
- address public tF = address(1337);
- int256 public tG = type(int256).min;
- bool public tH = true;
-
- constructor() {
- basic = UnpackedStruct({a: 1337, b: 1337});
-
- uint256 two = (1 << 128) | 1;
- map_packed[msg.sender] = two;
- map_packed[address(uint160(1337))] = 1 << 128;
- }
-
- function read_struct_upper(address who) public view returns (uint256) {
- return map_packed[who] >> 128;
- }
-
- function read_struct_lower(address who) public view returns (uint256) {
- return map_packed[who] & ((1 << 128) - 1);
- }
-
- function hidden() public view returns (bytes32 t) {
- bytes32 slot = keccak256("my.random.var");
- /// @solidity memory-safe-assembly
- assembly {
- t := sload(slot)
- }
- }
-
- function const() public pure returns (bytes32 t) {
- t = bytes32(hex"1337");
- }
-}
diff --git a/lib/forge-std/test/StdStyle.t.sol b/lib/forge-std/test/StdStyle.t.sol
deleted file mode 100644
index f6fffe7..0000000
--- a/lib/forge-std/test/StdStyle.t.sol
+++ /dev/null
@@ -1,110 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.7.0 <0.9.0;
-
-import "../src/Test.sol";
-
-contract StdStyleTest is Test {
- function testStyleColor() public pure {
- console2.log(StdStyle.red("StdStyle.red String Test"));
- console2.log(StdStyle.red(uint256(10e18)));
- console2.log(StdStyle.red(int256(-10e18)));
- console2.log(StdStyle.red(true));
- console2.log(StdStyle.red(address(0)));
- console2.log(StdStyle.redBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
- console2.log(StdStyle.redBytes32("StdStyle.redBytes32"));
- console2.log(StdStyle.green("StdStyle.green String Test"));
- console2.log(StdStyle.green(uint256(10e18)));
- console2.log(StdStyle.green(int256(-10e18)));
- console2.log(StdStyle.green(true));
- console2.log(StdStyle.green(address(0)));
- console2.log(StdStyle.greenBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
- console2.log(StdStyle.greenBytes32("StdStyle.greenBytes32"));
- console2.log(StdStyle.yellow("StdStyle.yellow String Test"));
- console2.log(StdStyle.yellow(uint256(10e18)));
- console2.log(StdStyle.yellow(int256(-10e18)));
- console2.log(StdStyle.yellow(true));
- console2.log(StdStyle.yellow(address(0)));
- console2.log(StdStyle.yellowBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
- console2.log(StdStyle.yellowBytes32("StdStyle.yellowBytes32"));
- console2.log(StdStyle.blue("StdStyle.blue String Test"));
- console2.log(StdStyle.blue(uint256(10e18)));
- console2.log(StdStyle.blue(int256(-10e18)));
- console2.log(StdStyle.blue(true));
- console2.log(StdStyle.blue(address(0)));
- console2.log(StdStyle.blueBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
- console2.log(StdStyle.blueBytes32("StdStyle.blueBytes32"));
- console2.log(StdStyle.magenta("StdStyle.magenta String Test"));
- console2.log(StdStyle.magenta(uint256(10e18)));
- console2.log(StdStyle.magenta(int256(-10e18)));
- console2.log(StdStyle.magenta(true));
- console2.log(StdStyle.magenta(address(0)));
- console2.log(StdStyle.magentaBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
- console2.log(StdStyle.magentaBytes32("StdStyle.magentaBytes32"));
- console2.log(StdStyle.cyan("StdStyle.cyan String Test"));
- console2.log(StdStyle.cyan(uint256(10e18)));
- console2.log(StdStyle.cyan(int256(-10e18)));
- console2.log(StdStyle.cyan(true));
- console2.log(StdStyle.cyan(address(0)));
- console2.log(StdStyle.cyanBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
- console2.log(StdStyle.cyanBytes32("StdStyle.cyanBytes32"));
- }
-
- function testStyleFontWeight() public pure {
- console2.log(StdStyle.bold("StdStyle.bold String Test"));
- console2.log(StdStyle.bold(uint256(10e18)));
- console2.log(StdStyle.bold(int256(-10e18)));
- console2.log(StdStyle.bold(address(0)));
- console2.log(StdStyle.bold(true));
- console2.log(StdStyle.boldBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
- console2.log(StdStyle.boldBytes32("StdStyle.boldBytes32"));
- console2.log(StdStyle.dim("StdStyle.dim String Test"));
- console2.log(StdStyle.dim(uint256(10e18)));
- console2.log(StdStyle.dim(int256(-10e18)));
- console2.log(StdStyle.dim(address(0)));
- console2.log(StdStyle.dim(true));
- console2.log(StdStyle.dimBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
- console2.log(StdStyle.dimBytes32("StdStyle.dimBytes32"));
- console2.log(StdStyle.italic("StdStyle.italic String Test"));
- console2.log(StdStyle.italic(uint256(10e18)));
- console2.log(StdStyle.italic(int256(-10e18)));
- console2.log(StdStyle.italic(address(0)));
- console2.log(StdStyle.italic(true));
- console2.log(StdStyle.italicBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
- console2.log(StdStyle.italicBytes32("StdStyle.italicBytes32"));
- console2.log(StdStyle.underline("StdStyle.underline String Test"));
- console2.log(StdStyle.underline(uint256(10e18)));
- console2.log(StdStyle.underline(int256(-10e18)));
- console2.log(StdStyle.underline(address(0)));
- console2.log(StdStyle.underline(true));
- console2.log(StdStyle.underlineBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
- console2.log(StdStyle.underlineBytes32("StdStyle.underlineBytes32"));
- console2.log(StdStyle.inverse("StdStyle.inverse String Test"));
- console2.log(StdStyle.inverse(uint256(10e18)));
- console2.log(StdStyle.inverse(int256(-10e18)));
- console2.log(StdStyle.inverse(address(0)));
- console2.log(StdStyle.inverse(true));
- console2.log(StdStyle.inverseBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
- console2.log(StdStyle.inverseBytes32("StdStyle.inverseBytes32"));
- }
-
- function testStyleCombined() public pure {
- console2.log(StdStyle.red(StdStyle.bold("Red Bold String Test")));
- console2.log(StdStyle.green(StdStyle.dim(uint256(10e18))));
- console2.log(StdStyle.yellow(StdStyle.italic(int256(-10e18))));
- console2.log(StdStyle.blue(StdStyle.underline(address(0))));
- console2.log(StdStyle.magenta(StdStyle.inverse(true)));
- }
-
- function testStyleCustom() public pure {
- console2.log(h1("Custom Style 1"));
- console2.log(h2("Custom Style 2"));
- }
-
- function h1(string memory a) private pure returns (string memory) {
- return StdStyle.cyan(StdStyle.inverse(StdStyle.bold(a)));
- }
-
- function h2(string memory a) private pure returns (string memory) {
- return StdStyle.magenta(StdStyle.bold(StdStyle.underline(a)));
- }
-}
diff --git a/lib/forge-std/test/StdUtils.t.sol b/lib/forge-std/test/StdUtils.t.sol
deleted file mode 100644
index d648512..0000000
--- a/lib/forge-std/test/StdUtils.t.sol
+++ /dev/null
@@ -1,342 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.7.0 <0.9.0;
-
-import "../src/Test.sol";
-
-contract StdUtilsMock is StdUtils {
- // We deploy a mock version so we can properly test expected reverts.
- function exposed_getTokenBalances(address token, address[] memory addresses)
- external
- returns (uint256[] memory balances)
- {
- return getTokenBalances(token, addresses);
- }
-
- function exposed_bound(int256 num, int256 min, int256 max) external view returns (int256) {
- return bound(num, min, max);
- }
-
- function exposed_bound(uint256 num, uint256 min, uint256 max) external view returns (uint256) {
- return bound(num, min, max);
- }
-
- function exposed_bytesToUint(bytes memory b) external pure returns (uint256) {
- return bytesToUint(b);
- }
-}
-
-contract StdUtilsTest is Test {
- /*//////////////////////////////////////////////////////////////////////////
- BOUND UINT
- //////////////////////////////////////////////////////////////////////////*/
-
- function testBound() public {
- assertEq(bound(uint256(5), 0, 4), 0);
- assertEq(bound(uint256(0), 69, 69), 69);
- assertEq(bound(uint256(0), 68, 69), 68);
- assertEq(bound(uint256(10), 150, 190), 174);
- assertEq(bound(uint256(300), 2800, 3200), 3107);
- assertEq(bound(uint256(9999), 1337, 6666), 4669);
- }
-
- function testBound_WithinRange() public {
- assertEq(bound(uint256(51), 50, 150), 51);
- assertEq(bound(uint256(51), 50, 150), bound(bound(uint256(51), 50, 150), 50, 150));
- assertEq(bound(uint256(149), 50, 150), 149);
- assertEq(bound(uint256(149), 50, 150), bound(bound(uint256(149), 50, 150), 50, 150));
- }
-
- function testBound_EdgeCoverage() public {
- assertEq(bound(uint256(0), 50, 150), 50);
- assertEq(bound(uint256(1), 50, 150), 51);
- assertEq(bound(uint256(2), 50, 150), 52);
- assertEq(bound(uint256(3), 50, 150), 53);
- assertEq(bound(type(uint256).max, 50, 150), 150);
- assertEq(bound(type(uint256).max - 1, 50, 150), 149);
- assertEq(bound(type(uint256).max - 2, 50, 150), 148);
- assertEq(bound(type(uint256).max - 3, 50, 150), 147);
- }
-
- function testBound_DistributionIsEven(uint256 min, uint256 size) public {
- size = size % 100 + 1;
- min = bound(min, UINT256_MAX / 2, UINT256_MAX / 2 + size);
- uint256 max = min + size - 1;
- uint256 result;
-
- for (uint256 i = 1; i <= size * 4; ++i) {
- // x > max
- result = bound(max + i, min, max);
- assertEq(result, min + (i - 1) % size);
- // x < min
- result = bound(min - i, min, max);
- assertEq(result, max - (i - 1) % size);
- }
- }
-
- function testBound(uint256 num, uint256 min, uint256 max) public {
- if (min > max) (min, max) = (max, min);
-
- uint256 result = bound(num, min, max);
-
- assertGe(result, min);
- assertLe(result, max);
- assertEq(result, bound(result, min, max));
- if (num >= min && num <= max) assertEq(result, num);
- }
-
- function testBoundUint256Max() public {
- assertEq(bound(0, type(uint256).max - 1, type(uint256).max), type(uint256).max - 1);
- assertEq(bound(1, type(uint256).max - 1, type(uint256).max), type(uint256).max);
- }
-
- function testCannotBoundMaxLessThanMin() public {
- // We deploy a mock version so we can properly test the revert.
- StdUtilsMock stdUtils = new StdUtilsMock();
-
- vm.expectRevert(bytes("StdUtils bound(uint256,uint256,uint256): Max is less than min."));
- stdUtils.exposed_bound(uint256(5), 100, 10);
- }
-
- function testCannotBoundMaxLessThanMin(uint256 num, uint256 min, uint256 max) public {
- // We deploy a mock version so we can properly test the revert.
- StdUtilsMock stdUtils = new StdUtilsMock();
-
- vm.assume(min > max);
- vm.expectRevert(bytes("StdUtils bound(uint256,uint256,uint256): Max is less than min."));
- stdUtils.exposed_bound(num, min, max);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- BOUND INT
- //////////////////////////////////////////////////////////////////////////*/
-
- function testBoundInt() public {
- assertEq(bound(-3, 0, 4), 2);
- assertEq(bound(0, -69, -69), -69);
- assertEq(bound(0, -69, -68), -68);
- assertEq(bound(-10, 150, 190), 154);
- assertEq(bound(-300, 2800, 3200), 2908);
- assertEq(bound(9999, -1337, 6666), 1995);
- }
-
- function testBoundInt_WithinRange() public {
- assertEq(bound(51, -50, 150), 51);
- assertEq(bound(51, -50, 150), bound(bound(51, -50, 150), -50, 150));
- assertEq(bound(149, -50, 150), 149);
- assertEq(bound(149, -50, 150), bound(bound(149, -50, 150), -50, 150));
- }
-
- function testBoundInt_EdgeCoverage() public {
- assertEq(bound(type(int256).min, -50, 150), -50);
- assertEq(bound(type(int256).min + 1, -50, 150), -49);
- assertEq(bound(type(int256).min + 2, -50, 150), -48);
- assertEq(bound(type(int256).min + 3, -50, 150), -47);
- assertEq(bound(type(int256).min, 10, 150), 10);
- assertEq(bound(type(int256).min + 1, 10, 150), 11);
- assertEq(bound(type(int256).min + 2, 10, 150), 12);
- assertEq(bound(type(int256).min + 3, 10, 150), 13);
-
- assertEq(bound(type(int256).max, -50, 150), 150);
- assertEq(bound(type(int256).max - 1, -50, 150), 149);
- assertEq(bound(type(int256).max - 2, -50, 150), 148);
- assertEq(bound(type(int256).max - 3, -50, 150), 147);
- assertEq(bound(type(int256).max, -50, -10), -10);
- assertEq(bound(type(int256).max - 1, -50, -10), -11);
- assertEq(bound(type(int256).max - 2, -50, -10), -12);
- assertEq(bound(type(int256).max - 3, -50, -10), -13);
- }
-
- function testBoundInt_DistributionIsEven(int256 min, uint256 size) public {
- size = size % 100 + 1;
- min = bound(min, -int256(size / 2), int256(size - size / 2));
- int256 max = min + int256(size) - 1;
- int256 result;
-
- for (uint256 i = 1; i <= size * 4; ++i) {
- // x > max
- result = bound(max + int256(i), min, max);
- assertEq(result, min + int256((i - 1) % size));
- // x < min
- result = bound(min - int256(i), min, max);
- assertEq(result, max - int256((i - 1) % size));
- }
- }
-
- function testBoundInt(int256 num, int256 min, int256 max) public {
- if (min > max) (min, max) = (max, min);
-
- int256 result = bound(num, min, max);
-
- assertGe(result, min);
- assertLe(result, max);
- assertEq(result, bound(result, min, max));
- if (num >= min && num <= max) assertEq(result, num);
- }
-
- function testBoundIntInt256Max() public {
- assertEq(bound(0, type(int256).max - 1, type(int256).max), type(int256).max - 1);
- assertEq(bound(1, type(int256).max - 1, type(int256).max), type(int256).max);
- }
-
- function testBoundIntInt256Min() public {
- assertEq(bound(0, type(int256).min, type(int256).min + 1), type(int256).min);
- assertEq(bound(1, type(int256).min, type(int256).min + 1), type(int256).min + 1);
- }
-
- function testCannotBoundIntMaxLessThanMin() public {
- // We deploy a mock version so we can properly test the revert.
- StdUtilsMock stdUtils = new StdUtilsMock();
-
- vm.expectRevert(bytes("StdUtils bound(int256,int256,int256): Max is less than min."));
- stdUtils.exposed_bound(-5, 100, 10);
- }
-
- function testCannotBoundIntMaxLessThanMin(int256 num, int256 min, int256 max) public {
- // We deploy a mock version so we can properly test the revert.
- StdUtilsMock stdUtils = new StdUtilsMock();
-
- vm.assume(min > max);
- vm.expectRevert(bytes("StdUtils bound(int256,int256,int256): Max is less than min."));
- stdUtils.exposed_bound(num, min, max);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- BOUND PRIVATE KEY
- //////////////////////////////////////////////////////////////////////////*/
-
- function testBoundPrivateKey() public {
- assertEq(boundPrivateKey(0), 1);
- assertEq(boundPrivateKey(1), 1);
- assertEq(boundPrivateKey(300), 300);
- assertEq(boundPrivateKey(9999), 9999);
- assertEq(boundPrivateKey(SECP256K1_ORDER - 1), SECP256K1_ORDER - 1);
- assertEq(boundPrivateKey(SECP256K1_ORDER), 1);
- assertEq(boundPrivateKey(SECP256K1_ORDER + 1), 2);
- assertEq(boundPrivateKey(UINT256_MAX), UINT256_MAX & SECP256K1_ORDER - 1); // x&y is equivalent to x-x%y
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- BYTES TO UINT
- //////////////////////////////////////////////////////////////////////////*/
-
- function testBytesToUint() external {
- bytes memory maxUint = hex"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff";
- bytes memory two = hex"02";
- bytes memory millionEther = hex"d3c21bcecceda1000000";
-
- assertEq(bytesToUint(maxUint), type(uint256).max);
- assertEq(bytesToUint(two), 2);
- assertEq(bytesToUint(millionEther), 1_000_000 ether);
- }
-
- function testCannotConvertGT32Bytes() external {
- // We deploy a mock version so we can properly test the revert.
- StdUtilsMock stdUtils = new StdUtilsMock();
-
- bytes memory thirty3Bytes = hex"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff";
- vm.expectRevert("StdUtils bytesToUint(bytes): Bytes length exceeds 32.");
- stdUtils.exposed_bytesToUint(thirty3Bytes);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- COMPUTE CREATE ADDRESS
- //////////////////////////////////////////////////////////////////////////*/
-
- function testComputeCreateAddress() external {
- address deployer = 0x6C9FC64A53c1b71FB3f9Af64d1ae3A4931A5f4E9;
- uint256 nonce = 14;
- address createAddress = computeCreateAddress(deployer, nonce);
- assertEq(createAddress, 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45);
- }
-
- /*//////////////////////////////////////////////////////////////////////////
- COMPUTE CREATE2 ADDRESS
- //////////////////////////////////////////////////////////////////////////*/
-
- function testComputeCreate2Address() external {
- bytes32 salt = bytes32(uint256(31415));
- bytes32 initcodeHash = keccak256(abi.encode(0x6080));
- address deployer = 0x6C9FC64A53c1b71FB3f9Af64d1ae3A4931A5f4E9;
- address create2Address = computeCreate2Address(salt, initcodeHash, deployer);
- assertEq(create2Address, 0xB147a5d25748fda14b463EB04B111027C290f4d3);
- }
-
- function testComputeCreate2AddressWithDefaultDeployer() external {
- bytes32 salt = 0xc290c670fde54e5ef686f9132cbc8711e76a98f0333a438a92daa442c71403c0;
- bytes32 initcodeHash = hashInitCode(hex"6080", "");
- assertEq(initcodeHash, 0x1a578b7a4b0b5755db6d121b4118d4bc68fe170dca840c59bc922f14175a76b0);
- address create2Address = computeCreate2Address(salt, initcodeHash);
- assertEq(create2Address, 0xc0ffEe2198a06235aAbFffe5Db0CacF1717f5Ac6);
- }
-}
-
-contract StdUtilsForkTest is Test {
- /*//////////////////////////////////////////////////////////////////////////
- GET TOKEN BALANCES
- //////////////////////////////////////////////////////////////////////////*/
-
- address internal SHIB = 0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE;
- address internal SHIB_HOLDER_0 = 0x855F5981e831D83e6A4b4EBFCAdAa68D92333170;
- address internal SHIB_HOLDER_1 = 0x8F509A90c2e47779cA408Fe00d7A72e359229AdA;
- address internal SHIB_HOLDER_2 = 0x0e3bbc0D04fF62211F71f3e4C45d82ad76224385;
-
- address internal USDC = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48;
- address internal USDC_HOLDER_0 = 0xDa9CE944a37d218c3302F6B82a094844C6ECEb17;
- address internal USDC_HOLDER_1 = 0x3e67F4721E6d1c41a015f645eFa37BEd854fcf52;
-
- function setUp() public {
- // All tests of the `getTokenBalances` method are fork tests using live contracts.
- vm.createSelectFork({urlOrAlias: "mainnet", blockNumber: 16_428_900});
- }
-
- function testCannotGetTokenBalances_NonTokenContract() external {
- // We deploy a mock version so we can properly test the revert.
- StdUtilsMock stdUtils = new StdUtilsMock();
-
- // The UniswapV2Factory contract has neither a `balanceOf` function nor a fallback function,
- // so the `balanceOf` call should revert.
- address token = address(0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f);
- address[] memory addresses = new address[](1);
- addresses[0] = USDC_HOLDER_0;
-
- vm.expectRevert("Multicall3: call failed");
- stdUtils.exposed_getTokenBalances(token, addresses);
- }
-
- function testCannotGetTokenBalances_EOA() external {
- // We deploy a mock version so we can properly test the revert.
- StdUtilsMock stdUtils = new StdUtilsMock();
-
- address eoa = vm.addr({privateKey: 1});
- address[] memory addresses = new address[](1);
- addresses[0] = USDC_HOLDER_0;
- vm.expectRevert("StdUtils getTokenBalances(address,address[]): Token address is not a contract.");
- stdUtils.exposed_getTokenBalances(eoa, addresses);
- }
-
- function testGetTokenBalances_Empty() external {
- address[] memory addresses = new address[](0);
- uint256[] memory balances = getTokenBalances(USDC, addresses);
- assertEq(balances.length, 0);
- }
-
- function testGetTokenBalances_USDC() external {
- address[] memory addresses = new address[](2);
- addresses[0] = USDC_HOLDER_0;
- addresses[1] = USDC_HOLDER_1;
- uint256[] memory balances = getTokenBalances(USDC, addresses);
- assertEq(balances[0], 159_000_000_000_000);
- assertEq(balances[1], 131_350_000_000_000);
- }
-
- function testGetTokenBalances_SHIB() external {
- address[] memory addresses = new address[](3);
- addresses[0] = SHIB_HOLDER_0;
- addresses[1] = SHIB_HOLDER_1;
- addresses[2] = SHIB_HOLDER_2;
- uint256[] memory balances = getTokenBalances(SHIB, addresses);
- assertEq(balances[0], 3_323_256_285_484.42e18);
- assertEq(balances[1], 1_271_702_771_149.99999928e18);
- assertEq(balances[2], 606_357_106_247e18);
- }
-}
diff --git a/lib/forge-std/test/compilation/CompilationScript.sol b/lib/forge-std/test/compilation/CompilationScript.sol
deleted file mode 100644
index e205cff..0000000
--- a/lib/forge-std/test/compilation/CompilationScript.sol
+++ /dev/null
@@ -1,10 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2 <0.9.0;
-
-pragma experimental ABIEncoderV2;
-
-import "../../src/Script.sol";
-
-// The purpose of this contract is to benchmark compilation time to avoid accidentally introducing
-// a change that results in very long compilation times with via-ir. See https://github.com/foundry-rs/forge-std/issues/207
-contract CompilationScript is Script {}
diff --git a/lib/forge-std/test/compilation/CompilationScriptBase.sol b/lib/forge-std/test/compilation/CompilationScriptBase.sol
deleted file mode 100644
index ce8e0e9..0000000
--- a/lib/forge-std/test/compilation/CompilationScriptBase.sol
+++ /dev/null
@@ -1,10 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2 <0.9.0;
-
-pragma experimental ABIEncoderV2;
-
-import "../../src/Script.sol";
-
-// The purpose of this contract is to benchmark compilation time to avoid accidentally introducing
-// a change that results in very long compilation times with via-ir. See https://github.com/foundry-rs/forge-std/issues/207
-contract CompilationScriptBase is ScriptBase {}
diff --git a/lib/forge-std/test/compilation/CompilationTest.sol b/lib/forge-std/test/compilation/CompilationTest.sol
deleted file mode 100644
index 9beeafe..0000000
--- a/lib/forge-std/test/compilation/CompilationTest.sol
+++ /dev/null
@@ -1,10 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2 <0.9.0;
-
-pragma experimental ABIEncoderV2;
-
-import "../../src/Test.sol";
-
-// The purpose of this contract is to benchmark compilation time to avoid accidentally introducing
-// a change that results in very long compilation times with via-ir. See https://github.com/foundry-rs/forge-std/issues/207
-contract CompilationTest is Test {}
diff --git a/lib/forge-std/test/compilation/CompilationTestBase.sol b/lib/forge-std/test/compilation/CompilationTestBase.sol
deleted file mode 100644
index e993535..0000000
--- a/lib/forge-std/test/compilation/CompilationTestBase.sol
+++ /dev/null
@@ -1,10 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.6.2 <0.9.0;
-
-pragma experimental ABIEncoderV2;
-
-import "../../src/Test.sol";
-
-// The purpose of this contract is to benchmark compilation time to avoid accidentally introducing
-// a change that results in very long compilation times with via-ir. See https://github.com/foundry-rs/forge-std/issues/207
-contract CompilationTestBase is TestBase {}
diff --git a/lib/forge-std/test/fixtures/broadcast.log.json b/lib/forge-std/test/fixtures/broadcast.log.json
deleted file mode 100644
index 0a0200b..0000000
--- a/lib/forge-std/test/fixtures/broadcast.log.json
+++ /dev/null
@@ -1,187 +0,0 @@
-{
- "transactions": [
- {
- "hash": "0xc6006863c267735a11476b7f15b15bc718e117e2da114a2be815dd651e1a509f",
- "type": "CALL",
- "contractName": "Test",
- "contractAddress": "0xe7f1725e7734ce288f8367e1bb143e90bb3f0512",
- "function": "multiple_arguments(uint256,address,uint256[]):(uint256)",
- "arguments": ["1", "0000000000000000000000000000000000001337", "[3,4]"],
- "tx": {
- "type": "0x02",
- "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
- "to": "0xe7f1725e7734ce288f8367e1bb143e90bb3f0512",
- "gas": "0x73b9",
- "value": "0x0",
- "data": "0x23e99187000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000013370000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000004",
- "nonce": "0x3",
- "accessList": []
- }
- },
- {
- "hash": "0xedf2b38d8d896519a947a1acf720f859bb35c0c5ecb8dd7511995b67b9853298",
- "type": "CALL",
- "contractName": "Test",
- "contractAddress": "0xe7f1725e7734ce288f8367e1bb143e90bb3f0512",
- "function": "inc():(uint256)",
- "arguments": [],
- "tx": {
- "type": "0x02",
- "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
- "to": "0xe7f1725e7734ce288f8367e1bb143e90bb3f0512",
- "gas": "0xdcb2",
- "value": "0x0",
- "data": "0x371303c0",
- "nonce": "0x4",
- "accessList": []
- }
- },
- {
- "hash": "0xa57e8e3981a6c861442e46c9471bd19cb3e21f9a8a6c63a72e7b5c47c6675a7c",
- "type": "CALL",
- "contractName": "Test",
- "contractAddress": "0x7c6b4bbe207d642d98d5c537142d85209e585087",
- "function": "t(uint256):(uint256)",
- "arguments": ["1"],
- "tx": {
- "type": "0x02",
- "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
- "to": "0x7c6b4bbe207d642d98d5c537142d85209e585087",
- "gas": "0x8599",
- "value": "0x0",
- "data": "0xafe29f710000000000000000000000000000000000000000000000000000000000000001",
- "nonce": "0x5",
- "accessList": []
- }
- }
- ],
- "receipts": [
- {
- "transactionHash": "0x481dc86e40bba90403c76f8e144aa9ff04c1da2164299d0298573835f0991181",
- "transactionIndex": "0x0",
- "blockHash": "0xef0730448490304e5403be0fa8f8ce64f118e9adcca60c07a2ae1ab921d748af",
- "blockNumber": "0x1",
- "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
- "to": null,
- "cumulativeGasUsed": "0x13f3a",
- "gasUsed": "0x13f3a",
- "contractAddress": "0x5fbdb2315678afecb367f032d93f642f64180aa3",
- "logs": [],
- "status": "0x1",
- "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
- "effectiveGasPrice": "0xee6b2800"
- },
- {
- "transactionHash": "0x6a187183545b8a9e7f1790e847139379bf5622baff2cb43acf3f5c79470af782",
- "transactionIndex": "0x0",
- "blockHash": "0xf3acb96a90071640c2a8c067ae4e16aad87e634ea8d8bbbb5b352fba86ba0148",
- "blockNumber": "0x2",
- "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
- "to": null,
- "cumulativeGasUsed": "0x45d80",
- "gasUsed": "0x45d80",
- "contractAddress": "0xe7f1725e7734ce288f8367e1bb143e90bb3f0512",
- "logs": [],
- "status": "0x1",
- "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
- "effectiveGasPrice": "0xee6b2800"
- },
- {
- "transactionHash": "0x064ad173b4867bdef2fb60060bbdaf01735fbf10414541ea857772974e74ea9d",
- "transactionIndex": "0x0",
- "blockHash": "0x8373d02109d3ee06a0225f23da4c161c656ccc48fe0fcee931d325508ae73e58",
- "blockNumber": "0x3",
- "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
- "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
- "cumulativeGasUsed": "0x45feb",
- "gasUsed": "0x45feb",
- "contractAddress": null,
- "logs": [],
- "status": "0x1",
- "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
- "effectiveGasPrice": "0xee6b2800"
- },
- {
- "transactionHash": "0xc6006863c267735a11476b7f15b15bc718e117e2da114a2be815dd651e1a509f",
- "transactionIndex": "0x0",
- "blockHash": "0x16712fae5c0e18f75045f84363fb6b4d9a9fe25e660c4ce286833a533c97f629",
- "blockNumber": "0x4",
- "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
- "to": "0xe7f1725e7734ce288f8367e1bb143e90bb3f0512",
- "cumulativeGasUsed": "0x5905",
- "gasUsed": "0x5905",
- "contractAddress": null,
- "logs": [],
- "status": "0x1",
- "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
- "effectiveGasPrice": "0xee6b2800"
- },
- {
- "transactionHash": "0xedf2b38d8d896519a947a1acf720f859bb35c0c5ecb8dd7511995b67b9853298",
- "transactionIndex": "0x0",
- "blockHash": "0x156b88c3eb9a1244ba00a1834f3f70de735b39e3e59006dd03af4fe7d5480c11",
- "blockNumber": "0x5",
- "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
- "to": "0xe7f1725e7734ce288f8367e1bb143e90bb3f0512",
- "cumulativeGasUsed": "0xa9c4",
- "gasUsed": "0xa9c4",
- "contractAddress": null,
- "logs": [],
- "status": "0x1",
- "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
- "effectiveGasPrice": "0xee6b2800"
- },
- {
- "transactionHash": "0xa57e8e3981a6c861442e46c9471bd19cb3e21f9a8a6c63a72e7b5c47c6675a7c",
- "transactionIndex": "0x0",
- "blockHash": "0xcf61faca67dbb2c28952b0b8a379e53b1505ae0821e84779679390cb8571cadb",
- "blockNumber": "0x6",
- "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
- "to": "0x7c6b4bbe207d642d98d5c537142d85209e585087",
- "cumulativeGasUsed": "0x66c5",
- "gasUsed": "0x66c5",
- "contractAddress": null,
- "logs": [
- {
- "address": "0x7c6b4bbe207d642d98d5c537142d85209e585087",
- "topics": [
- "0x0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b"
- ],
- "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000046865726500000000000000000000000000000000000000000000000000000000",
- "blockHash": "0xcf61faca67dbb2c28952b0b8a379e53b1505ae0821e84779679390cb8571cadb",
- "blockNumber": "0x6",
- "transactionHash": "0xa57e8e3981a6c861442e46c9471bd19cb3e21f9a8a6c63a72e7b5c47c6675a7c",
- "transactionIndex": "0x1",
- "logIndex": "0x0",
- "transactionLogIndex": "0x0",
- "removed": false
- }
- ],
- "status": "0x1",
- "logsBloom": "0x00000000000800000000000000000010000000000000000000000000000180000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100",
- "effectiveGasPrice": "0xee6b2800"
- },
- {
- "transactionHash": "0x11fbb10230c168ca1e36a7e5c69a6dbcd04fd9e64ede39d10a83e36ee8065c16",
- "transactionIndex": "0x0",
- "blockHash": "0xf1e0ed2eda4e923626ec74621006ed50b3fc27580dc7b4cf68a07ca77420e29c",
- "blockNumber": "0x7",
- "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
- "to": "0x0000000000000000000000000000000000001337",
- "cumulativeGasUsed": "0x5208",
- "gasUsed": "0x5208",
- "contractAddress": null,
- "logs": [],
- "status": "0x1",
- "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
- "effectiveGasPrice": "0xee6b2800"
- }
- ],
- "libraries": [
- "src/Broadcast.t.sol:F:0x5fbdb2315678afecb367f032d93f642f64180aa3"
- ],
- "pending": [],
- "path": "broadcast/Broadcast.t.sol/31337/run-latest.json",
- "returns": {},
- "timestamp": 1655140035
-}
diff --git a/lib/openzeppelin-contracts b/lib/openzeppelin-contracts
deleted file mode 160000
index fd81a96..0000000
--- a/lib/openzeppelin-contracts
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit fd81a96f01cc42ef1c9a5399364968d0e07e9e90
diff --git a/lib/openzeppelin-contracts-upgradeable b/lib/openzeppelin-contracts-upgradeable
deleted file mode 160000
index 3d4c0d5..0000000
--- a/lib/openzeppelin-contracts-upgradeable
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 3d4c0d5741b131c231e558d7a6213392ab3672a5
diff --git a/lib/solidity-lib b/lib/solidity-lib
deleted file mode 160000
index af47875..0000000
--- a/lib/solidity-lib
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit af478754e30e5df7b0565de3f4e17451ceb323d8
diff --git a/package-lock.json b/package-lock.json
index 216fe9b..58fdceb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,7 +1,7 @@
{
"name": "foundry-template",
"version": "1.0.0",
- "lockfileVersion": 2,
+ "lockfileVersion": 3,
"requires": true,
"packages": {
"": {
@@ -268,15 +268,6 @@
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
"dev": true
},
- "node_modules/@babel/code-frame/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/@babel/code-frame/node_modules/has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -299,21 +290,21 @@
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz",
- "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+ "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.22.13",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz",
- "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
+ "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
"dev": true,
"dependencies": {
- "@babel/helper-validator-identifier": "^7.22.5",
+ "@babel/helper-validator-identifier": "^7.22.20",
"chalk": "^2.4.2",
"js-tokens": "^4.0.0"
},
@@ -362,15 +353,6 @@
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
"dev": true
},
- "node_modules/@babel/highlight/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/@babel/highlight/node_modules/has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -393,9 +375,9 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.22.11",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.11.tgz",
- "integrity": "sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==",
+ "version": "7.23.1",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.1.tgz",
+ "integrity": "sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==",
"dev": true,
"peer": true,
"dependencies": {
@@ -1720,15 +1702,18 @@
}
},
"node_modules/@truffle/abi-utils": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@truffle/abi-utils/-/abi-utils-1.0.2.tgz",
- "integrity": "sha512-MefEcxsBlprKIpfW7eh2I5zJqlWM18xk3duL7SW4VhIs6kNEec//hCpEDoE6P0m7GjqY3vk8X4vnf4aLlZkRcA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@truffle/abi-utils/-/abi-utils-1.0.3.tgz",
+ "integrity": "sha512-AWhs01HCShaVKjml7Z4AbVREr/u4oiWxCcoR7Cktm0mEvtT04pvnxW5xB/cI4znRkrbPdFQlFt67kgrAjesYkw==",
"dev": true,
"peer": true,
"dependencies": {
"change-case": "3.0.2",
"fast-check": "3.1.1",
"web3-utils": "1.10.0"
+ },
+ "engines": {
+ "node": "^16.20 || ^18.16 || >=20"
}
},
"node_modules/@truffle/abi-utils/node_modules/web3-utils": {
@@ -1751,48 +1736,38 @@
}
},
"node_modules/@truffle/code-utils": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@truffle/code-utils/-/code-utils-3.0.3.tgz",
- "integrity": "sha512-VMQMXvt/nXxWvHo5K1t697se1NU7VNh3zmiFw41qaSE1DjFZ2FMsZuW1ZoLhO4NKc14uB8k8pX3NN7XoF3uP4w==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@truffle/code-utils/-/code-utils-3.0.4.tgz",
+ "integrity": "sha512-MWK3TMisIFaBpSjK7tt1GoQan7DQDBqT2iSsdQOGD74C7r9NMwsIdnL2EYoB/DPcEJ7B8yP4grlG2fQTrPF96g==",
"dev": true,
"peer": true,
"dependencies": {
"cbor": "^5.2.0"
+ },
+ "engines": {
+ "node": "^16.20 || ^18.16 || >=20"
}
},
"node_modules/@truffle/codec": {
- "version": "0.17.2",
- "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.17.2.tgz",
- "integrity": "sha512-n9HX8R5a5+/j6Y0+lqSzIyU1cUxTRYn/xEWp0Qc1b0Vtltad7wvVh+KLGvbm/KQEX3o1RK1xRIUN2E0QlDeQnA==",
+ "version": "0.17.3",
+ "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.17.3.tgz",
+ "integrity": "sha512-Ko/+dsnntNyrJa57jUD9u4qx9nQby+H4GsUO6yjiCPSX0TQnEHK08XWqBSg0WdmCH2+h0y1nr2CXSx8gbZapxg==",
"dev": true,
"peer": true,
"dependencies": {
- "@truffle/abi-utils": "^1.0.2",
- "@truffle/compile-common": "^0.9.7",
+ "@truffle/abi-utils": "^1.0.3",
+ "@truffle/compile-common": "^0.9.8",
"big.js": "^6.0.3",
"bn.js": "^5.1.3",
"cbor": "^5.2.0",
"debug": "^4.3.1",
"lodash": "^4.17.21",
- "semver": "7.5.2",
+ "semver": "^7.5.4",
"utf8": "^3.0.0",
"web3-utils": "1.10.0"
- }
- },
- "node_modules/@truffle/codec/node_modules/semver": {
- "version": "7.5.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
- "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
},
"engines": {
- "node": ">=10"
+ "node": "^16.20 || ^18.16 || >=20"
}
},
"node_modules/@truffle/codec/node_modules/web3-utils": {
@@ -1815,74 +1790,86 @@
}
},
"node_modules/@truffle/compile-common": {
- "version": "0.9.7",
- "resolved": "https://registry.npmjs.org/@truffle/compile-common/-/compile-common-0.9.7.tgz",
- "integrity": "sha512-TXuVLc5yJ/A0bSWw5OWIdXmcyaPpj3TJQ60ki7w9cIuW65Bazw7P4FRPaVNjR9YGe1FLYJ36GSdd9V3egPbzCg==",
+ "version": "0.9.8",
+ "resolved": "https://registry.npmjs.org/@truffle/compile-common/-/compile-common-0.9.8.tgz",
+ "integrity": "sha512-DTpiyo32t/YhLI1spn84D3MHYHrnoVqO+Gp7ZHrYNwDs86mAxtNiH5lsVzSb8cPgiqlvNsRCU9nm9R0YmKMTBQ==",
"dev": true,
"peer": true,
"dependencies": {
- "@truffle/error": "^0.2.1",
+ "@truffle/error": "^0.2.2",
"colors": "1.4.0"
+ },
+ "engines": {
+ "node": "^16.20 || ^18.16 || >=20"
}
},
"node_modules/@truffle/config": {
- "version": "1.3.60",
- "resolved": "https://registry.npmjs.org/@truffle/config/-/config-1.3.60.tgz",
- "integrity": "sha512-ccpdafmky4sC9th0KgJiQsDMPqsgKLC0vgaCebBHTbOvkWHjKB5G7NDXYBd6ex3GGU3Jvs3j4sjvI2TTO+fsdw==",
+ "version": "1.3.61",
+ "resolved": "https://registry.npmjs.org/@truffle/config/-/config-1.3.61.tgz",
+ "integrity": "sha512-L4uyG47V+k0NrSoVJ9D+hp2jcMstihW1QlNuXiu5g3mU24BjrozlJT34DFkczh/TtRceLjdrQJKA8WJCMICutw==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "@truffle/error": "^0.2.1",
- "@truffle/events": "^0.1.24",
- "@truffle/provider": "^0.3.12",
+ "@truffle/error": "^0.2.2",
+ "@truffle/events": "^0.1.25",
+ "@truffle/provider": "^0.3.13",
"conf": "^10.1.2",
"debug": "^4.3.1",
"find-up": "^2.1.0",
"lodash": "^4.17.21",
"original-require": "^1.0.1"
+ },
+ "engines": {
+ "node": "^16.20 || ^18.16 || >=20"
}
},
"node_modules/@truffle/dashboard-message-bus-client": {
- "version": "0.1.11",
- "resolved": "https://registry.npmjs.org/@truffle/dashboard-message-bus-client/-/dashboard-message-bus-client-0.1.11.tgz",
- "integrity": "sha512-ABoKtaogh5KjOw0UM5/6wYuhg4T5cMPVSSNF1rv4j3s2XGzExx3vUObvXqNO6I8gZ8xuvzClw4RmcEk8JkM8yA==",
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/@truffle/dashboard-message-bus-client/-/dashboard-message-bus-client-0.1.12.tgz",
+ "integrity": "sha512-pI9G0La9tTstb2J2wxUZIMx6H+ZF0XBlsGN3HBkffr4edT0oT12WMCK9GxmKE22Q5VnpXl7wGjatRSEx0C9qDQ==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "@truffle/dashboard-message-bus-common": "^0.1.6",
- "@truffle/promise-tracker": "^0.1.6",
- "axios": "1.2.4",
+ "@truffle/dashboard-message-bus-common": "^0.1.7",
+ "@truffle/promise-tracker": "^0.1.7",
+ "axios": "1.5.0",
"debug": "^4.3.1",
"delay": "^5.0.0",
"isomorphic-ws": "^4.0.1",
"node-abort-controller": "^3.0.1",
"tiny-typed-emitter": "^2.1.0",
"ws": "^7.2.0"
+ },
+ "engines": {
+ "node": "^16.20 || ^18.16 || >=20"
}
},
"node_modules/@truffle/dashboard-message-bus-common": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/@truffle/dashboard-message-bus-common/-/dashboard-message-bus-common-0.1.6.tgz",
- "integrity": "sha512-93HNXILKeKgmW1YaWPdsQ55MJ0MaLzOA8kRXPnM5jF2H3KRlRxOeEg77R4YWtGH+cVZP4VYGXdpvUap/lOAnvw==",
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/@truffle/dashboard-message-bus-common/-/dashboard-message-bus-common-0.1.7.tgz",
+ "integrity": "sha512-jN7q8LBmwQRldSzT/YJE33mnDLrp3EFFDuZyLwtQGInlfcRTXcr5yPY42jxr3Ln19dQe2Chx3I6dWtDByeKLIQ==",
"dev": true,
"optional": true,
- "peer": true
+ "peer": true,
+ "engines": {
+ "node": "^16.20 || ^18.16 || >=20"
+ }
},
"node_modules/@truffle/db": {
- "version": "2.0.34",
- "resolved": "https://registry.npmjs.org/@truffle/db/-/db-2.0.34.tgz",
- "integrity": "sha512-EP8Vnfwimt0G3hMcxPAtvsXrLaWPVUZLhwKWziyZdr/JJGSBG3J+z1iQ7qlZLJAxnBm2cJge+1/s2AdHWihAJA==",
+ "version": "2.0.36",
+ "resolved": "https://registry.npmjs.org/@truffle/db/-/db-2.0.36.tgz",
+ "integrity": "sha512-PpUjOXZgf9Gy8RlP8bJhl5pjJRkghZUcCiGOsS0YbCCI//PGDDoKmS+3QUjXWhiMwTeld3gfUV2ip4p2hMbyVA==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
"@graphql-tools/delegate": "^8.4.3",
"@graphql-tools/schema": "^8.3.1",
- "@truffle/abi-utils": "^1.0.2",
- "@truffle/code-utils": "^3.0.3",
- "@truffle/config": "^1.3.60",
+ "@truffle/abi-utils": "^1.0.3",
+ "@truffle/code-utils": "^3.0.4",
+ "@truffle/config": "^1.3.61",
"abstract-leveldown": "^7.2.0",
"apollo-server": "^3.11.0",
"debug": "^4.3.1",
@@ -1897,16 +1884,22 @@
"pouchdb-debug": "^7.1.1",
"pouchdb-find": "^7.0.0",
"web3-utils": "1.10.0"
+ },
+ "engines": {
+ "node": "^16.20 || ^18.16 || >=20"
}
},
"node_modules/@truffle/db-loader": {
- "version": "0.2.34",
- "resolved": "https://registry.npmjs.org/@truffle/db-loader/-/db-loader-0.2.34.tgz",
- "integrity": "sha512-bZqKL9s4eKd5Hbm85aPljOYiVW/tuQflDKYBycKHJYRzrNsf+9XYlUi8jUs3BBEtcEka+oZcHosBWpO1lfOlWw==",
+ "version": "0.2.36",
+ "resolved": "https://registry.npmjs.org/@truffle/db-loader/-/db-loader-0.2.36.tgz",
+ "integrity": "sha512-Cm8uVc2eoihquMOSZm8UOuGGUvBo+/GHkxRoPAZ5pftOpSlRAug0okVOp6ETj1BujgLJ02izU/qdrwSGWwGR9A==",
"dev": true,
"peer": true,
+ "engines": {
+ "node": "^16.20 || ^18.16 || >=20"
+ },
"optionalDependencies": {
- "@truffle/db": "^2.0.34"
+ "@truffle/db": "^2.0.36"
}
},
"node_modules/@truffle/db/node_modules/web3-utils": {
@@ -1930,16 +1923,16 @@
}
},
"node_modules/@truffle/debugger": {
- "version": "12.1.3",
- "resolved": "https://registry.npmjs.org/@truffle/debugger/-/debugger-12.1.3.tgz",
- "integrity": "sha512-U74aDein6fZQwk4wWuI8zw6hXk7371N0Ftzg4WOTnDtDR1rCTY1OYRdUqqKz3cnKEwU8bAReDGxV8LJa+ymrXA==",
+ "version": "12.1.5",
+ "resolved": "https://registry.npmjs.org/@truffle/debugger/-/debugger-12.1.5.tgz",
+ "integrity": "sha512-m6FQoddmptcXZkO+OABcz4Ka7YDLAPW9/GhnTSqYonlaOeV7g5dMzybhHq6whaQet34rhNteomep7JpskKW9Mw==",
"dev": true,
"peer": true,
"dependencies": {
"@ensdomains/ensjs": "^2.1.0",
- "@truffle/abi-utils": "^1.0.2",
- "@truffle/codec": "^0.17.2",
- "@truffle/source-map-utils": "^1.3.118",
+ "@truffle/abi-utils": "^1.0.3",
+ "@truffle/codec": "^0.17.3",
+ "@truffle/source-map-utils": "^1.3.119",
"bn.js": "^5.1.3",
"debug": "^4.3.1",
"json-pointer": "^0.6.1",
@@ -1948,9 +1941,12 @@
"redux": "^3.7.2",
"redux-saga": "1.0.0",
"reselect-tree": "^1.3.7",
- "semver": "7.5.2",
+ "semver": "^7.5.4",
"web3": "1.10.0",
"web3-eth-abi": "1.10.0"
+ },
+ "engines": {
+ "node": "^16.20 || ^18.16 || >=20"
}
},
"node_modules/@truffle/debugger/node_modules/@types/node": {
@@ -1989,22 +1985,6 @@
"dev": true,
"peer": true
},
- "node_modules/@truffle/debugger/node_modules/semver": {
- "version": "7.5.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
- "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/@truffle/debugger/node_modules/web3": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/web3/-/web3-1.10.0.tgz",
@@ -2350,25 +2330,31 @@
}
},
"node_modules/@truffle/error": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.2.1.tgz",
- "integrity": "sha512-5Qy+z9dg9hP37WNdLnXH4b9MzemWrjTufRq7/DTKqimjyxCP/1zlL8gQEMdiSx1BBtAZz0xypkID/jb7AF/Osg==",
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.2.2.tgz",
+ "integrity": "sha512-TqbzJ0O8DHh34cu8gDujnYl4dUl6o2DE4PR6iokbybvnIm/L2xl6+Gv1VC+YJS45xfH83Yo3/Zyg/9Oq8/xZWg==",
"dev": true,
- "peer": true
+ "peer": true,
+ "engines": {
+ "node": "^16.20 || ^18.16 || >=20"
+ }
},
"node_modules/@truffle/events": {
- "version": "0.1.24",
- "resolved": "https://registry.npmjs.org/@truffle/events/-/events-0.1.24.tgz",
- "integrity": "sha512-rS+jKDjmdM0g+14H/H8MzhohaTKsSS6plNNzO95MIcUs0Ytinu1DXfSkUovDpgv5h2NcRoU0BMTKCR21Y3JiNw==",
+ "version": "0.1.25",
+ "resolved": "https://registry.npmjs.org/@truffle/events/-/events-0.1.25.tgz",
+ "integrity": "sha512-5elJxNXPVuXDMOoIcCVox0sz95ovRhRbte/H9ht18vyOvtualb4bTjwYyRoWw6Y7j0pom0tPI3OLZWqCdKQNdA==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "@truffle/dashboard-message-bus-client": "^0.1.11",
- "@truffle/spinners": "^0.2.4",
+ "@truffle/dashboard-message-bus-client": "^0.1.12",
+ "@truffle/spinners": "^0.2.5",
"debug": "^4.3.1",
"emittery": "^0.4.1",
"web3-utils": "1.10.0"
+ },
+ "engines": {
+ "node": "^16.20 || ^18.16 || >=20"
}
},
"node_modules/@truffle/events/node_modules/web3-utils": {
@@ -2392,9 +2378,9 @@
}
},
"node_modules/@truffle/interface-adapter": {
- "version": "0.5.36",
- "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.36.tgz",
- "integrity": "sha512-e6ECu9YDJuQjjxphdtJatHGgjlGsX/a3rQwqG2kBrK4cynGJdlejoo2iv/7Dj97wgIMIr1qH3L2WDrfTNF+K1g==",
+ "version": "0.5.37",
+ "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.37.tgz",
+ "integrity": "sha512-lPH9MDgU+7sNDlJSClwyOwPCfuOimqsCx0HfGkznL3mcFRymc1pukAR1k17zn7ErHqBwJjiKAZ6Ri72KkS+IWw==",
"dev": true,
"optional": true,
"peer": true,
@@ -2402,6 +2388,9 @@
"bn.js": "^5.1.3",
"ethers": "^4.0.32",
"web3": "1.10.0"
+ },
+ "engines": {
+ "node": "^16.20 || ^18.16 || >=20"
}
},
"node_modules/@truffle/interface-adapter/node_modules/@types/node": {
@@ -2711,10 +2700,14 @@
"peer": true
},
"node_modules/@truffle/interface-adapter/node_modules/web3-eth-accounts/node_modules/uuid": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
- "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
"dev": true,
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
"optional": true,
"peer": true,
"bin": {
@@ -2900,25 +2893,31 @@
}
},
"node_modules/@truffle/promise-tracker": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/@truffle/promise-tracker/-/promise-tracker-0.1.6.tgz",
- "integrity": "sha512-oUZ4Mc6Yt/qTvFZ/yD4nnUIN8pXhrBN0h4/SZ4e8W1TcHNvQkV6gUkkYkn8fZRvFwTMYjvWot+eAHHNRsSl/eA==",
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/@truffle/promise-tracker/-/promise-tracker-0.1.7.tgz",
+ "integrity": "sha512-NiPXNJvdei8MRZRUjEZoL0Y7TPDR1TaeCfGUgB3md6Q7TBiqSKo2p5OT36JO106B2j57SLmXOiDn8fLb+u2sjA==",
"dev": true,
"optional": true,
- "peer": true
+ "peer": true,
+ "engines": {
+ "node": "^16.20 || ^18.16 || >=20"
+ }
},
"node_modules/@truffle/provider": {
- "version": "0.3.12",
- "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.3.12.tgz",
- "integrity": "sha512-R7zS1eyY8H37ExkMxmMqa6bFN4UYLiYSCc+4g/8IjEU2lZXhKWUXA2gWzuMPT+XWfAu+IrC1PqLIHQgYe05EVA==",
+ "version": "0.3.13",
+ "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.3.13.tgz",
+ "integrity": "sha512-W9yZO0ZUwA0LhFvf7+NNNXVSCOd4x5pTbFiXUVURjyqp7f4YooLAqnlLPSpV+6qwIwThc+86CeLlOiFslYdDIA==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "@truffle/error": "^0.2.1",
- "@truffle/interface-adapter": "^0.5.36",
+ "@truffle/error": "^0.2.2",
+ "@truffle/interface-adapter": "^0.5.37",
"debug": "^4.3.1",
"web3": "1.10.0"
+ },
+ "engines": {
+ "node": "^16.20 || ^18.16 || >=20"
}
},
"node_modules/@truffle/provider/node_modules/@types/node": {
@@ -3326,18 +3325,21 @@
}
},
"node_modules/@truffle/source-map-utils": {
- "version": "1.3.118",
- "resolved": "https://registry.npmjs.org/@truffle/source-map-utils/-/source-map-utils-1.3.118.tgz",
- "integrity": "sha512-SGOW6moch7MqsjSoUf7e/y6xuCZi5M6kEtSG1aaZQJrxrj/ZuooYpShXxISyiOAB89QZ5txCRVsN2EnNYgjjkA==",
+ "version": "1.3.119",
+ "resolved": "https://registry.npmjs.org/@truffle/source-map-utils/-/source-map-utils-1.3.119.tgz",
+ "integrity": "sha512-TFYi3XvanY8WZBOfBwDHQe9HfZUXJ2ejnmFNjsq1//sbM4fUNWjeNshGqkWGxfKPh3OAzXgD4iTnPG3YeXM8YQ==",
"dev": true,
"peer": true,
"dependencies": {
- "@truffle/code-utils": "^3.0.3",
- "@truffle/codec": "^0.17.2",
+ "@truffle/code-utils": "^3.0.4",
+ "@truffle/codec": "^0.17.3",
"debug": "^4.3.1",
"json-pointer": "^0.6.1",
"node-interval-tree": "^1.3.3",
"web3-utils": "1.10.0"
+ },
+ "engines": {
+ "node": "^16.20 || ^18.16 || >=20"
}
},
"node_modules/@truffle/source-map-utils/node_modules/web3-utils": {
@@ -3360,14 +3362,17 @@
}
},
"node_modules/@truffle/spinners": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/@truffle/spinners/-/spinners-0.2.4.tgz",
- "integrity": "sha512-8GsIX9GzO6wBDGoNF4yAmQEe95TiIuAJq9p+2szCKGArYbAD3kbn+mG3TMS3Gr/zAS5p7fTJxnCm60E2HghsUQ==",
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/@truffle/spinners/-/spinners-0.2.5.tgz",
+ "integrity": "sha512-emYyLEuoY62MQV/RNjyVIuTPEjMyIA0WiYMG2N3yfh8OSjD/TC0HRc2oyDWtVkNNox/5D2tH2m5fFB8HOt80FQ==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
"@trufflesuite/spinnies": "^0.1.1"
+ },
+ "engines": {
+ "node": "^16.20 || ^18.16 || >=20"
}
},
"node_modules/@trufflesuite/spinnies": {
@@ -3469,9 +3474,9 @@
}
},
"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==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.2.tgz",
+ "integrity": "sha512-dkpZu0szUtn9UXTmw+e0AJFd4D2XAxDnsCLdc05SfqpqzPEBft8eQr8uaFitfo/dUUOZERaLec2hHMG87A4Dxg==",
"dev": true,
"peer": true,
"dependencies": {
@@ -3479,9 +3484,9 @@
}
},
"node_modules/@types/body-parser": {
- "version": "1.19.2",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
- "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
+ "version": "1.19.3",
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.3.tgz",
+ "integrity": "sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==",
"dev": true,
"optional": true,
"peer": true,
@@ -3504,9 +3509,9 @@
}
},
"node_modules/@types/connect": {
- "version": "3.4.35",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
- "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
+ "version": "3.4.36",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz",
+ "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==",
"dev": true,
"optional": true,
"peer": true,
@@ -3537,9 +3542,9 @@
}
},
"node_modules/@types/express-serve-static-core": {
- "version": "4.17.36",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.36.tgz",
- "integrity": "sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==",
+ "version": "4.17.37",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz",
+ "integrity": "sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==",
"dev": true,
"optional": true,
"peer": true,
@@ -3551,16 +3556,16 @@
}
},
"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==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.2.tgz",
+ "integrity": "sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw==",
"dev": true,
"peer": true
},
"node_modules/@types/http-errors": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz",
- "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz",
+ "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==",
"dev": true,
"optional": true,
"peer": true
@@ -3584,17 +3589,17 @@
"peer": true
},
"node_modules/@types/mime": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
- "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.3.tgz",
+ "integrity": "sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==",
"dev": true,
"optional": true,
"peer": true
},
"node_modules/@types/node": {
- "version": "20.5.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.9.tgz",
- "integrity": "sha512-PcGNd//40kHAS3sTlzKB9C9XL4K0sTup8nbG5lC14kzEteTNuAFh9u5nA0o5TWnSG2r/JNPRXFVcHJIIeRlmqQ==",
+ "version": "20.8.3",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.3.tgz",
+ "integrity": "sha512-jxiZQFpb+NlH5kjW49vXxvxTjeeqlbsnTAdBTKpzEdPs9itay7MscYXz3Fo9VYFEsfQ6LJFitHad3faerLAjCw==",
"dev": true,
"peer": true
},
@@ -3623,17 +3628,17 @@
"peer": true
},
"node_modules/@types/range-parser": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
- "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==",
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.5.tgz",
+ "integrity": "sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==",
"dev": true,
"optional": true,
"peer": 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==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.1.tgz",
+ "integrity": "sha512-TiGnitEDxj2X0j+98Eqk5lv/Cij8oHd32bU4D/Yw6AOq7vvTk0gSD2GPj0G/HkvhMoVsdlhYF4yqqlyPBTM6Sg==",
"dev": true,
"peer": true,
"dependencies": {
@@ -3641,9 +3646,9 @@
}
},
"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==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.4.tgz",
+ "integrity": "sha512-oN0PFsYxDZnX/qSJ5S5OwaEDTYfekhvaM5vqui2bu1AA39pKofmgL104Q29KiOXizXS2yLjSzc5YdTyMKdcy4A==",
"dev": true,
"peer": true,
"dependencies": {
@@ -3651,9 +3656,9 @@
}
},
"node_modules/@types/send": {
- "version": "0.17.1",
- "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz",
- "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==",
+ "version": "0.17.2",
+ "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.2.tgz",
+ "integrity": "sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==",
"dev": true,
"optional": true,
"peer": true,
@@ -3663,9 +3668,9 @@
}
},
"node_modules/@types/serve-static": {
- "version": "1.15.2",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz",
- "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==",
+ "version": "1.15.3",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.3.tgz",
+ "integrity": "sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==",
"dev": true,
"optional": true,
"peer": true,
@@ -3701,6 +3706,7 @@
"resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz",
"integrity": "sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ==",
"dev": true,
+ "optional": true,
"peer": true,
"dependencies": {
"buffer": "^6.0.3",
@@ -3817,17 +3823,6 @@
"optional": true,
"peer": true
},
- "node_modules/ajv-formats/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,
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/ansi-colors": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
@@ -3863,9 +3858,9 @@
}
},
"node_modules/antlr4": {
- "version": "4.13.0",
- "resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.13.0.tgz",
- "integrity": "sha512-zooUbt+UscjnWyOrsuY/tVFL4rwrAGwOivpQmvmUDE22hy/lUA467Rc1rcixyRwcRUIXFYBwv7+dClDSHdmmew==",
+ "version": "4.13.1",
+ "resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.13.1.tgz",
+ "integrity": "sha512-kiXTspaRYvnIArgE97z5YVVf/cDVQABr3abFRR6mE7yesLMkgu4ujuyV/sgxafQ8wgve0DJQUJ38Z8tkgA2izA==",
"dev": true,
"engines": {
"node": ">=16"
@@ -4072,6 +4067,18 @@
"graphql": "^15.3.0 || ^16.0.0"
}
},
+ "node_modules/apollo-server-express/node_modules/@types/body-parser": {
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
+ "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "@types/connect": "*",
+ "@types/node": "*"
+ }
+ },
"node_modules/apollo-server-express/node_modules/@types/express-serve-static-core": {
"version": "4.17.31",
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz",
@@ -4280,9 +4287,9 @@
"peer": true
},
"node_modules/axios": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.4.tgz",
- "integrity": "sha512-lIQuCfBJvZB/Bv7+RWUqEJqNShGOVpk9v7P0ZWx5Ip0qY6u7JBAU6dzQPMLasU9vHL2uD8av/1FDJXj7n6c39w==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.0.tgz",
+ "integrity": "sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==",
"dev": true,
"optional": true,
"peer": true,
@@ -4723,6 +4730,7 @@
"resolved": "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz",
"integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==",
"dev": true,
+ "optional": true,
"peer": true,
"engines": {
"node": ">=6"
@@ -5075,15 +5083,6 @@
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
"dev": true
},
- "node_modules/command-line-usage/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/command-line-usage/node_modules/has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -5181,17 +5180,6 @@
"optional": true,
"peer": true
},
- "node_modules/conf/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,
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/constant-case": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz",
@@ -5278,9 +5266,9 @@
}
},
"node_modules/cosmiconfig": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.3.tgz",
- "integrity": "sha512-/VY+0IvFoE47hwgKHu8feeBFIb1Z1mcJFiLrNwaJpLoLa9qwLVquMGMr2OUwQmhpJDtsSQSasg/TMv1imec9xA==",
+ "version": "8.3.6",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz",
+ "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==",
"dev": true,
"dependencies": {
"import-fresh": "^3.3.0",
@@ -5749,6 +5737,7 @@
"resolved": "https://registry.npmjs.org/emittery/-/emittery-0.4.1.tgz",
"integrity": "sha512-r4eRSeStEGf6M5SKdrQhhLK5bOwOBxQhIE3YSTnZE3GpKiLfnnhE+tPtrJE79+eDJgm39BM6LSoI8SCx4HbwlQ==",
"dev": true,
+ "optional": true,
"peer": true,
"engines": {
"node": ">=6"
@@ -5975,16 +5964,12 @@
"peer": true
},
"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==",
+ "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,
- "peer": true,
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=0.8.0"
}
},
"node_modules/etag": {
@@ -6100,6 +6085,7 @@
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz",
"integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==",
+ "deprecated": "Upgrade to ethereum-cryptography@2.0 for security and reduced package size",
"dev": true,
"peer": true,
"dependencies": {
@@ -6490,9 +6476,9 @@
}
},
"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==",
+ "version": "1.15.3",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
+ "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==",
"dev": true,
"funding": [
{
@@ -10795,14 +10781,11 @@
}
},
"node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz",
+ "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==",
"dev": true,
"peer": true,
- "dependencies": {
- "function-bind": "^1.1.1"
- },
"engines": {
"node": ">= 0.4.0"
}
@@ -11051,6 +11034,16 @@
"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,
+ "peer": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
@@ -11086,6 +11079,7 @@
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz",
"integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==",
"dev": true,
+ "optional": true,
"peer": true
},
"node_modules/import-fresh": {
@@ -11195,6 +11189,7 @@
"url": "https://feross.org/support"
}
],
+ "optional": true,
"peer": true,
"engines": {
"node": ">=4"
@@ -11560,9 +11555,9 @@
}
},
"node_modules/keccak": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz",
- "integrity": "sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz",
+ "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==",
"dev": true,
"hasInstallScript": true,
"peer": true,
@@ -11613,9 +11608,9 @@
}
},
"node_modules/keyv": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz",
- "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==",
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
"dev": true,
"peer": true,
"dependencies": {
@@ -11710,6 +11705,7 @@
"resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz",
"integrity": "sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ==",
"dev": true,
+ "optional": true,
"peer": true,
"dependencies": {
"catering": "^2.1.0"
@@ -11878,6 +11874,7 @@
"resolved": "https://registry.npmjs.org/level-supports/-/level-supports-2.1.0.tgz",
"integrity": "sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA==",
"dev": true,
+ "optional": true,
"peer": true,
"engines": {
"node": ">=10"
@@ -11900,6 +11897,7 @@
"integrity": "sha512-iB8O/7Db9lPaITU1aA2txU/cBEXAt4vWwKQRrrWuS6XDgbP4QZGj9BL2aNbwb002atoQ/lIotJkfyzz+ygQnUQ==",
"dev": true,
"hasInstallScript": true,
+ "optional": true,
"peer": true,
"dependencies": {
"abstract-leveldown": "~6.2.1",
@@ -11915,6 +11913,7 @@
"resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz",
"integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==",
"dev": true,
+ "optional": true,
"peer": true,
"dependencies": {
"buffer": "^5.5.0",
@@ -11946,6 +11945,7 @@
"url": "https://feross.org/support"
}
],
+ "optional": true,
"peer": true,
"dependencies": {
"base64-js": "^1.3.1",
@@ -11957,6 +11957,7 @@
"resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz",
"integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==",
"dev": true,
+ "optional": true,
"peer": true,
"engines": {
"node": ">=6"
@@ -11967,6 +11968,7 @@
"resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz",
"integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==",
"dev": true,
+ "optional": true,
"peer": true,
"dependencies": {
"xtend": "^4.0.2"
@@ -12508,6 +12510,19 @@
"url": "https://opencollective.com/mochajs"
}
},
+ "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,
+ "peer": 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",
@@ -12806,6 +12821,7 @@
"resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz",
"integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==",
"dev": true,
+ "optional": true,
"peer": true
},
"node_modules/negotiator": {
@@ -12876,6 +12892,7 @@
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.1.tgz",
"integrity": "sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==",
"dev": true,
+ "optional": true,
"peer": true,
"bin": {
"node-gyp-build": "bin.js",
@@ -13871,9 +13888,9 @@
}
},
"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==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
+ "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
"dev": true,
"engines": {
"node": ">=6"
@@ -13954,6 +13971,7 @@
"url": "https://feross.org/support"
}
],
+ "optional": true,
"peer": true
},
"node_modules/quick-lru": {
@@ -14190,16 +14208,6 @@
"node": ">= 0.12"
}
},
- "node_modules/request/node_modules/punycode": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
- "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/request/node_modules/qs": {
"version": "6.5.3",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
@@ -14246,11 +14254,10 @@
}
},
"node_modules/require-from-string": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
- "integrity": "sha512-H7AkJWMobeskkttHyhTVtS0fxpFLjxhbfMa6Bk3wimP7sdPRGL3EyCg3sAQenFfAe+xQ+oAc85Nmtvq0ROM83Q==",
+ "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,
- "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -14300,9 +14307,9 @@
}
},
"node_modules/resolve": {
- "version": "1.22.4",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz",
- "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==",
+ "version": "1.22.6",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz",
+ "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==",
"dev": true,
"peer": true,
"dependencies": {
@@ -14906,6 +14913,16 @@
"graceful-fs": "^4.1.6"
}
},
+ "node_modules/solc/node_modules/require-from-string": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
+ "integrity": "sha512-H7AkJWMobeskkttHyhTVtS0fxpFLjxhbfMa6Bk3wimP7sdPRGL3EyCg3sAQenFfAe+xQ+oAc85Nmtvq0ROM83Q==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/solc/node_modules/semver": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
@@ -15087,9 +15104,9 @@
}
},
"node_modules/spdx-license-ids": {
- "version": "3.0.13",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz",
- "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==",
+ "version": "3.0.16",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz",
+ "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==",
"dev": true,
"peer": true
},
@@ -15506,15 +15523,6 @@
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true
},
- "node_modules/table/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/tar": {
"version": "4.4.19",
"resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz",
@@ -15676,17 +15684,6 @@
"node": ">=6"
}
},
- "node_modules/tough-cookie/node_modules/punycode": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
- "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/tough-cookie/node_modules/universalify": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
@@ -15706,15 +15703,15 @@
"peer": true
},
"node_modules/truffle": {
- "version": "5.11.3",
- "resolved": "https://registry.npmjs.org/truffle/-/truffle-5.11.3.tgz",
- "integrity": "sha512-rZHc75+/WIWsb9wT2kbPsU5/j0e5zqv4bPphNu3BLqg26a3gR308JvAG5oy6b+bR1efqVF0MQFDsVrM73dWq3A==",
+ "version": "5.11.5",
+ "resolved": "https://registry.npmjs.org/truffle/-/truffle-5.11.5.tgz",
+ "integrity": "sha512-yCa2uWs5DmL0spuJUuIMtnVayRQrVuWLtcRXHMB0NLrtWDcRo7VM9RViveV4+oi9LdZ8VpFmmqHGm43LbzUxOA==",
"dev": true,
"hasInstallScript": true,
"peer": true,
"dependencies": {
- "@truffle/db-loader": "^0.2.34",
- "@truffle/debugger": "^12.1.3",
+ "@truffle/db-loader": "^0.2.36",
+ "@truffle/debugger": "^12.1.5",
"app-module-path": "^2.2.0",
"ganache": "7.9.1",
"mocha": "10.1.0",
@@ -15723,8 +15720,11 @@
"bin": {
"truffle": "build/cli.bundled.js"
},
+ "engines": {
+ "node": "^16.20 || ^18.16 || >=20"
+ },
"optionalDependencies": {
- "@truffle/db": "^2.0.34"
+ "@truffle/db": "^2.0.36"
}
},
"node_modules/ts-command-line-args": {
@@ -16161,10 +16161,14 @@
}
},
"node_modules/uuid": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
- "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
"dev": true,
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
"peer": true,
"bin": {
"uuid": "dist/bin/uuid"
@@ -17082,13821 +17086,5 @@
"url": "https://github.com/sponsors/sindresorhus"
}
}
- },
- "dependencies": {
- "@apollo/protobufjs": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.7.tgz",
- "integrity": "sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@protobufjs/aspromise": "^1.1.2",
- "@protobufjs/base64": "^1.1.2",
- "@protobufjs/codegen": "^2.0.4",
- "@protobufjs/eventemitter": "^1.1.0",
- "@protobufjs/fetch": "^1.1.0",
- "@protobufjs/float": "^1.0.2",
- "@protobufjs/inquire": "^1.1.0",
- "@protobufjs/path": "^1.1.2",
- "@protobufjs/pool": "^1.1.0",
- "@protobufjs/utf8": "^1.1.0",
- "@types/long": "^4.0.0",
- "long": "^4.0.0"
- }
- },
- "@apollo/usage-reporting-protobuf": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz",
- "integrity": "sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@apollo/protobufjs": "1.2.7"
- }
- },
- "@apollo/utils.dropunuseddefinitions": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-1.1.0.tgz",
- "integrity": "sha512-jU1XjMr6ec9pPoL+BFWzEPW7VHHulVdGKMkPAMiCigpVIT11VmCbnij0bWob8uS3ODJ65tZLYKAh/55vLw2rbg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {}
- },
- "@apollo/utils.keyvaluecache": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.2.tgz",
- "integrity": "sha512-p7PVdLPMnPzmXSQVEsy27cYEjVON+SH/Wb7COyW3rQN8+wJgT1nv9jZouYtztWW8ZgTkii5T6tC9qfoDREd4mg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@apollo/utils.logger": "^1.0.0",
- "lru-cache": "7.10.1 - 7.13.1"
- },
- "dependencies": {
- "lru-cache": {
- "version": "7.13.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz",
- "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==",
- "dev": true,
- "optional": true,
- "peer": true
- }
- }
- },
- "@apollo/utils.logger": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.1.tgz",
- "integrity": "sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "@apollo/utils.printwithreducedwhitespace": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-1.1.0.tgz",
- "integrity": "sha512-GfFSkAv3n1toDZ4V6u2d7L4xMwLA+lv+6hqXicMN9KELSJ9yy9RzuEXaX73c/Ry+GzRsBy/fdSUGayGqdHfT2Q==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {}
- },
- "@apollo/utils.removealiases": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-1.0.0.tgz",
- "integrity": "sha512-6cM8sEOJW2LaGjL/0vHV0GtRaSekrPQR4DiywaApQlL9EdROASZU5PsQibe2MWeZCOhNrPRuHh4wDMwPsWTn8A==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {}
- },
- "@apollo/utils.sortast": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-1.1.0.tgz",
- "integrity": "sha512-VPlTsmUnOwzPK5yGZENN069y6uUHgeiSlpEhRnLFYwYNoJHsuJq2vXVwIaSmts015WTPa2fpz1inkLYByeuRQA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "lodash.sortby": "^4.7.0"
- }
- },
- "@apollo/utils.stripsensitiveliterals": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-1.2.0.tgz",
- "integrity": "sha512-E41rDUzkz/cdikM5147d8nfCFVKovXxKBcjvLEQ7bjZm/cg9zEcXvS6vFY8ugTubI3fn6zoqo0CyU8zT+BGP9w==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {}
- },
- "@apollo/utils.usagereporting": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-1.0.1.tgz",
- "integrity": "sha512-6dk+0hZlnDbahDBB2mP/PZ5ybrtCJdLMbeNJD+TJpKyZmSY6bA3SjI8Cr2EM9QA+AdziywuWg+SgbWUF3/zQqQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@apollo/usage-reporting-protobuf": "^4.0.0",
- "@apollo/utils.dropunuseddefinitions": "^1.1.0",
- "@apollo/utils.printwithreducedwhitespace": "^1.1.0",
- "@apollo/utils.removealiases": "1.0.0",
- "@apollo/utils.sortast": "^1.1.0",
- "@apollo/utils.stripsensitiveliterals": "^1.2.0"
- }
- },
- "@apollographql/apollo-tools": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.5.4.tgz",
- "integrity": "sha512-shM3q7rUbNyXVVRkQJQseXv6bnYM3BUma/eZhwXR4xsuM+bqWnJKvW7SAfRjP7LuSCocrexa5AXhjjawNHrIlw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {}
- },
- "@apollographql/graphql-playground-html": {
- "version": "1.6.29",
- "resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz",
- "integrity": "sha512-xCcXpoz52rI4ksJSdOCxeOCn2DLocxwHf9dVT/Q90Pte1LX+LY+91SFtJF3KXVHH8kEin+g1KKCQPKBjZJfWNA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "xss": "^1.0.8"
- }
- },
- "@babel/code-frame": {
- "version": "7.22.13",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
- "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.22.13",
- "chalk": "^2.4.2"
- },
- "dependencies": {
- "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"
- }
- },
- "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"
- }
- },
- "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
- },
- "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
- },
- "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
- },
- "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"
- }
- }
- }
- },
- "@babel/helper-validator-identifier": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz",
- "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==",
- "dev": true
- },
- "@babel/highlight": {
- "version": "7.22.13",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz",
- "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.22.5",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0"
- },
- "dependencies": {
- "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"
- }
- },
- "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"
- }
- },
- "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
- },
- "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
- },
- "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
- },
- "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"
- }
- }
- }
- },
- "@babel/runtime": {
- "version": "7.22.11",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.11.tgz",
- "integrity": "sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==",
- "dev": true,
- "peer": true,
- "requires": {
- "regenerator-runtime": "^0.14.0"
- }
- },
- "@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"
- }
- },
- "@ensdomains/address-encoder": {
- "version": "0.1.9",
- "resolved": "https://registry.npmjs.org/@ensdomains/address-encoder/-/address-encoder-0.1.9.tgz",
- "integrity": "sha512-E2d2gP4uxJQnDu2Kfg1tHNspefzbLT8Tyjrm5sEuim32UkU2sm5xL4VXtgc2X33fmPEw9+jUMpGs4veMbf+PYg==",
- "dev": true,
- "peer": true,
- "requires": {
- "bech32": "^1.1.3",
- "blakejs": "^1.1.0",
- "bn.js": "^4.11.8",
- "bs58": "^4.0.1",
- "crypto-addr-codec": "^0.1.7",
- "nano-base32": "^1.0.1",
- "ripemd160": "^2.0.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,
- "peer": true
- }
- }
- },
- "@ensdomains/ens": {
- "version": "0.4.5",
- "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz",
- "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==",
- "dev": true,
- "peer": true,
- "requires": {
- "bluebird": "^3.5.2",
- "eth-ens-namehash": "^2.0.8",
- "solc": "^0.4.20",
- "testrpc": "0.0.1",
- "web3-utils": "^1.0.0-beta.31"
- }
- },
- "@ensdomains/ensjs": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@ensdomains/ensjs/-/ensjs-2.1.0.tgz",
- "integrity": "sha512-GRbGPT8Z/OJMDuxs75U/jUNEC0tbL0aj7/L/QQznGYKm/tiasp+ndLOaoULy9kKJFC0TBByqfFliEHDgoLhyog==",
- "dev": true,
- "peer": true,
- "requires": {
- "@babel/runtime": "^7.4.4",
- "@ensdomains/address-encoder": "^0.1.7",
- "@ensdomains/ens": "0.4.5",
- "@ensdomains/resolver": "0.2.4",
- "content-hash": "^2.5.2",
- "eth-ens-namehash": "^2.0.8",
- "ethers": "^5.0.13",
- "js-sha3": "^0.8.0"
- }
- },
- "@ensdomains/resolver": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz",
- "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==",
- "dev": true,
- "peer": true
- },
- "@ethereumjs/common": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.5.0.tgz",
- "integrity": "sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg==",
- "dev": true,
- "peer": true,
- "requires": {
- "crc-32": "^1.2.0",
- "ethereumjs-util": "^7.1.1"
- }
- },
- "@ethereumjs/rlp": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz",
- "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==",
- "dev": true,
- "peer": true
- },
- "@ethereumjs/tx": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.3.2.tgz",
- "integrity": "sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog==",
- "dev": true,
- "peer": true,
- "requires": {
- "@ethereumjs/common": "^2.5.0",
- "ethereumjs-util": "^7.1.2"
- }
- },
- "@ethereumjs/util": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz",
- "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==",
- "dev": true,
- "peer": true,
- "requires": {
- "@ethereumjs/rlp": "^4.0.1",
- "ethereum-cryptography": "^2.0.0",
- "micro-ftch": "^0.3.1"
- }
- },
- "@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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": true,
- "requires": {
- "@ethersproject/logger": "^5.7.0"
- }
- },
- "@ethersproject/providers": {
- "version": "5.7.2",
- "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz",
- "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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"
- }
- },
- "@graphql-tools/batch-execute": {
- "version": "8.5.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-8.5.1.tgz",
- "integrity": "sha512-hRVDduX0UDEneVyEWtc2nu5H2PxpfSfM/riUlgZvo/a/nG475uyehxR5cFGvTEPEQUKY3vGIlqvtRigzqTfCew==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@graphql-tools/utils": "8.9.0",
- "dataloader": "2.1.0",
- "tslib": "^2.4.0",
- "value-or-promise": "1.0.11"
- }
- },
- "@graphql-tools/delegate": {
- "version": "8.8.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.8.1.tgz",
- "integrity": "sha512-NDcg3GEQmdEHlnF7QS8b4lM1PSF+DKeFcIlLEfZFBvVq84791UtJcDj8734sIHLukmyuAxXMfA1qLd2l4lZqzA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@graphql-tools/batch-execute": "8.5.1",
- "@graphql-tools/schema": "8.5.1",
- "@graphql-tools/utils": "8.9.0",
- "dataloader": "2.1.0",
- "tslib": "~2.4.0",
- "value-or-promise": "1.0.11"
- }
- },
- "@graphql-tools/merge": {
- "version": "8.3.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.1.tgz",
- "integrity": "sha512-BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@graphql-tools/utils": "8.9.0",
- "tslib": "^2.4.0"
- }
- },
- "@graphql-tools/mock": {
- "version": "8.7.20",
- "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.7.20.tgz",
- "integrity": "sha512-ljcHSJWjC/ZyzpXd5cfNhPI7YljRVvabKHPzKjEs5ElxWu2cdlLGvyNYepApXDsM/OJG/2xuhGM+9GWu5gEAPQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@graphql-tools/schema": "^9.0.18",
- "@graphql-tools/utils": "^9.2.1",
- "fast-json-stable-stringify": "^2.1.0",
- "tslib": "^2.4.0"
- },
- "dependencies": {
- "@graphql-tools/merge": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.4.2.tgz",
- "integrity": "sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@graphql-tools/utils": "^9.2.1",
- "tslib": "^2.4.0"
- }
- },
- "@graphql-tools/schema": {
- "version": "9.0.19",
- "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.19.tgz",
- "integrity": "sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@graphql-tools/merge": "^8.4.1",
- "@graphql-tools/utils": "^9.2.1",
- "tslib": "^2.4.0",
- "value-or-promise": "^1.0.12"
- }
- },
- "@graphql-tools/utils": {
- "version": "9.2.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-9.2.1.tgz",
- "integrity": "sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@graphql-typed-document-node/core": "^3.1.1",
- "tslib": "^2.4.0"
- }
- },
- "value-or-promise": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.12.tgz",
- "integrity": "sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==",
- "dev": true,
- "optional": true,
- "peer": true
- }
- }
- },
- "@graphql-tools/schema": {
- "version": "8.5.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.5.1.tgz",
- "integrity": "sha512-0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@graphql-tools/merge": "8.3.1",
- "@graphql-tools/utils": "8.9.0",
- "tslib": "^2.4.0",
- "value-or-promise": "1.0.11"
- }
- },
- "@graphql-tools/utils": {
- "version": "8.9.0",
- "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.9.0.tgz",
- "integrity": "sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "tslib": "^2.4.0"
- }
- },
- "@graphql-typed-document-node/core": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz",
- "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {}
- },
- "@josephg/resolvable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@josephg/resolvable/-/resolvable-1.0.1.tgz",
- "integrity": "sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "@jridgewell/resolve-uri": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
- "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
- "dev": true
- },
- "@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
- "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"
- }
- },
- "@noble/curves": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.1.0.tgz",
- "integrity": "sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA==",
- "dev": true,
- "peer": true,
- "requires": {
- "@noble/hashes": "1.3.1"
- }
- },
- "@noble/hashes": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz",
- "integrity": "sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==",
- "dev": true,
- "peer": true
- },
- "@protobufjs/aspromise": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
- "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "@protobufjs/base64": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
- "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "@protobufjs/codegen": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
- "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "@protobufjs/eventemitter": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
- "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "@protobufjs/fetch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
- "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@protobufjs/aspromise": "^1.1.1",
- "@protobufjs/inquire": "^1.1.0"
- }
- },
- "@protobufjs/float": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
- "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "@protobufjs/inquire": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
- "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "@protobufjs/path": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
- "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "@protobufjs/pool": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
- "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "@protobufjs/utf8": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
- "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "@redux-saga/core": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/@redux-saga/core/-/core-1.2.3.tgz",
- "integrity": "sha512-U1JO6ncFBAklFTwoQ3mjAeQZ6QGutsJzwNBjgVLSWDpZTRhobUzuVDS1qH3SKGJD8fvqoaYOjp6XJ3gCmeZWgA==",
- "dev": true,
- "peer": true,
- "requires": {
- "@babel/runtime": "^7.6.3",
- "@redux-saga/deferred": "^1.2.1",
- "@redux-saga/delay-p": "^1.2.1",
- "@redux-saga/is": "^1.1.3",
- "@redux-saga/symbols": "^1.1.3",
- "@redux-saga/types": "^1.2.1",
- "redux": "^4.0.4",
- "typescript-tuple": "^2.2.1"
- },
- "dependencies": {
- "redux": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz",
- "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==",
- "dev": true,
- "peer": true,
- "requires": {
- "@babel/runtime": "^7.9.2"
- }
- }
- }
- },
- "@redux-saga/deferred": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@redux-saga/deferred/-/deferred-1.2.1.tgz",
- "integrity": "sha512-cmin3IuuzMdfQjA0lG4B+jX+9HdTgHZZ+6u3jRAOwGUxy77GSlTi4Qp2d6PM1PUoTmQUR5aijlA39scWWPF31g==",
- "dev": true,
- "peer": true
- },
- "@redux-saga/delay-p": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@redux-saga/delay-p/-/delay-p-1.2.1.tgz",
- "integrity": "sha512-MdiDxZdvb1m+Y0s4/hgdcAXntpUytr9g0hpcOO1XFVyyzkrDu3SKPgBFOtHn7lhu7n24ZKIAT1qtKyQjHqRd+w==",
- "dev": true,
- "peer": true,
- "requires": {
- "@redux-saga/symbols": "^1.1.3"
- }
- },
- "@redux-saga/is": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@redux-saga/is/-/is-1.1.3.tgz",
- "integrity": "sha512-naXrkETG1jLRfVfhOx/ZdLj0EyAzHYbgJWkXbB3qFliPcHKiWbv/ULQryOAEKyjrhiclmr6AMdgsXFyx7/yE6Q==",
- "dev": true,
- "peer": true,
- "requires": {
- "@redux-saga/symbols": "^1.1.3",
- "@redux-saga/types": "^1.2.1"
- }
- },
- "@redux-saga/symbols": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@redux-saga/symbols/-/symbols-1.1.3.tgz",
- "integrity": "sha512-hCx6ZvU4QAEUojETnX8EVg4ubNLBFl1Lps4j2tX7o45x/2qg37m3c6v+kSp8xjDJY+2tJw4QB3j8o8dsl1FDXg==",
- "dev": true,
- "peer": true
- },
- "@redux-saga/types": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@redux-saga/types/-/types-1.2.1.tgz",
- "integrity": "sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==",
- "dev": true,
- "peer": true
- },
- "@scure/base": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.3.tgz",
- "integrity": "sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q==",
- "dev": true,
- "peer": true
- },
- "@scure/bip32": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.1.tgz",
- "integrity": "sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==",
- "dev": true,
- "peer": true,
- "requires": {
- "@noble/curves": "~1.1.0",
- "@noble/hashes": "~1.3.1",
- "@scure/base": "~1.1.0"
- }
- },
- "@scure/bip39": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.1.tgz",
- "integrity": "sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==",
- "dev": true,
- "peer": true,
- "requires": {
- "@noble/hashes": "~1.3.0",
- "@scure/base": "~1.1.0"
- }
- },
- "@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,
- "peer": true
- },
- "@solidity-parser/parser": {
- "version": "0.16.1",
- "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.16.1.tgz",
- "integrity": "sha512-PdhRFNhbTtu3x8Axm0uYpqOy/lODYQK+MlYSgqIsq2L8SFYEHJPHNUiOTAJbDGzNjjr1/n9AcIayxafR/fWmYw==",
- "dev": true,
- "requires": {
- "antlr4ts": "^0.5.0-alpha.4"
- }
- },
- "@szmarczak/http-timer": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz",
- "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==",
- "dev": true,
- "peer": true,
- "requires": {
- "defer-to-connect": "^2.0.1"
- }
- },
- "@truffle/abi-utils": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@truffle/abi-utils/-/abi-utils-1.0.2.tgz",
- "integrity": "sha512-MefEcxsBlprKIpfW7eh2I5zJqlWM18xk3duL7SW4VhIs6kNEec//hCpEDoE6P0m7GjqY3vk8X4vnf4aLlZkRcA==",
- "dev": true,
- "peer": true,
- "requires": {
- "change-case": "3.0.2",
- "fast-check": "3.1.1",
- "web3-utils": "1.10.0"
- },
- "dependencies": {
- "web3-utils": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz",
- "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==",
- "dev": true,
- "peer": 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"
- }
- }
- }
- },
- "@truffle/code-utils": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@truffle/code-utils/-/code-utils-3.0.3.tgz",
- "integrity": "sha512-VMQMXvt/nXxWvHo5K1t697se1NU7VNh3zmiFw41qaSE1DjFZ2FMsZuW1ZoLhO4NKc14uB8k8pX3NN7XoF3uP4w==",
- "dev": true,
- "peer": true,
- "requires": {
- "cbor": "^5.2.0"
- }
- },
- "@truffle/codec": {
- "version": "0.17.2",
- "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.17.2.tgz",
- "integrity": "sha512-n9HX8R5a5+/j6Y0+lqSzIyU1cUxTRYn/xEWp0Qc1b0Vtltad7wvVh+KLGvbm/KQEX3o1RK1xRIUN2E0QlDeQnA==",
- "dev": true,
- "peer": true,
- "requires": {
- "@truffle/abi-utils": "^1.0.2",
- "@truffle/compile-common": "^0.9.7",
- "big.js": "^6.0.3",
- "bn.js": "^5.1.3",
- "cbor": "^5.2.0",
- "debug": "^4.3.1",
- "lodash": "^4.17.21",
- "semver": "7.5.2",
- "utf8": "^3.0.0",
- "web3-utils": "1.10.0"
- },
- "dependencies": {
- "semver": {
- "version": "7.5.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
- "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "web3-utils": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz",
- "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==",
- "dev": true,
- "peer": 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"
- }
- }
- }
- },
- "@truffle/compile-common": {
- "version": "0.9.7",
- "resolved": "https://registry.npmjs.org/@truffle/compile-common/-/compile-common-0.9.7.tgz",
- "integrity": "sha512-TXuVLc5yJ/A0bSWw5OWIdXmcyaPpj3TJQ60ki7w9cIuW65Bazw7P4FRPaVNjR9YGe1FLYJ36GSdd9V3egPbzCg==",
- "dev": true,
- "peer": true,
- "requires": {
- "@truffle/error": "^0.2.1",
- "colors": "1.4.0"
- }
- },
- "@truffle/config": {
- "version": "1.3.60",
- "resolved": "https://registry.npmjs.org/@truffle/config/-/config-1.3.60.tgz",
- "integrity": "sha512-ccpdafmky4sC9th0KgJiQsDMPqsgKLC0vgaCebBHTbOvkWHjKB5G7NDXYBd6ex3GGU3Jvs3j4sjvI2TTO+fsdw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@truffle/error": "^0.2.1",
- "@truffle/events": "^0.1.24",
- "@truffle/provider": "^0.3.12",
- "conf": "^10.1.2",
- "debug": "^4.3.1",
- "find-up": "^2.1.0",
- "lodash": "^4.17.21",
- "original-require": "^1.0.1"
- }
- },
- "@truffle/dashboard-message-bus-client": {
- "version": "0.1.11",
- "resolved": "https://registry.npmjs.org/@truffle/dashboard-message-bus-client/-/dashboard-message-bus-client-0.1.11.tgz",
- "integrity": "sha512-ABoKtaogh5KjOw0UM5/6wYuhg4T5cMPVSSNF1rv4j3s2XGzExx3vUObvXqNO6I8gZ8xuvzClw4RmcEk8JkM8yA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@truffle/dashboard-message-bus-common": "^0.1.6",
- "@truffle/promise-tracker": "^0.1.6",
- "axios": "1.2.4",
- "debug": "^4.3.1",
- "delay": "^5.0.0",
- "isomorphic-ws": "^4.0.1",
- "node-abort-controller": "^3.0.1",
- "tiny-typed-emitter": "^2.1.0",
- "ws": "^7.2.0"
- }
- },
- "@truffle/dashboard-message-bus-common": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/@truffle/dashboard-message-bus-common/-/dashboard-message-bus-common-0.1.6.tgz",
- "integrity": "sha512-93HNXILKeKgmW1YaWPdsQ55MJ0MaLzOA8kRXPnM5jF2H3KRlRxOeEg77R4YWtGH+cVZP4VYGXdpvUap/lOAnvw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "@truffle/db": {
- "version": "2.0.34",
- "resolved": "https://registry.npmjs.org/@truffle/db/-/db-2.0.34.tgz",
- "integrity": "sha512-EP8Vnfwimt0G3hMcxPAtvsXrLaWPVUZLhwKWziyZdr/JJGSBG3J+z1iQ7qlZLJAxnBm2cJge+1/s2AdHWihAJA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@graphql-tools/delegate": "^8.4.3",
- "@graphql-tools/schema": "^8.3.1",
- "@truffle/abi-utils": "^1.0.2",
- "@truffle/code-utils": "^3.0.3",
- "@truffle/config": "^1.3.60",
- "abstract-leveldown": "^7.2.0",
- "apollo-server": "^3.11.0",
- "debug": "^4.3.1",
- "fs-extra": "^9.1.0",
- "graphql": "^15.3.0",
- "graphql-tag": "^2.12.6",
- "json-stable-stringify": "^1.0.1",
- "pascal-case": "^2.0.1",
- "pluralize": "^8.0.0",
- "pouchdb": "7.3.0",
- "pouchdb-adapter-memory": "^7.1.1",
- "pouchdb-debug": "^7.1.1",
- "pouchdb-find": "^7.0.0",
- "web3-utils": "1.10.0"
- },
- "dependencies": {
- "web3-utils": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz",
- "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==",
- "dev": true,
- "optional": true,
- "peer": 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"
- }
- }
- }
- },
- "@truffle/db-loader": {
- "version": "0.2.34",
- "resolved": "https://registry.npmjs.org/@truffle/db-loader/-/db-loader-0.2.34.tgz",
- "integrity": "sha512-bZqKL9s4eKd5Hbm85aPljOYiVW/tuQflDKYBycKHJYRzrNsf+9XYlUi8jUs3BBEtcEka+oZcHosBWpO1lfOlWw==",
- "dev": true,
- "peer": true,
- "requires": {
- "@truffle/db": "^2.0.34"
- }
- },
- "@truffle/debugger": {
- "version": "12.1.3",
- "resolved": "https://registry.npmjs.org/@truffle/debugger/-/debugger-12.1.3.tgz",
- "integrity": "sha512-U74aDein6fZQwk4wWuI8zw6hXk7371N0Ftzg4WOTnDtDR1rCTY1OYRdUqqKz3cnKEwU8bAReDGxV8LJa+ymrXA==",
- "dev": true,
- "peer": true,
- "requires": {
- "@ensdomains/ensjs": "^2.1.0",
- "@truffle/abi-utils": "^1.0.2",
- "@truffle/codec": "^0.17.2",
- "@truffle/source-map-utils": "^1.3.118",
- "bn.js": "^5.1.3",
- "debug": "^4.3.1",
- "json-pointer": "^0.6.1",
- "json-stable-stringify": "^1.0.1",
- "lodash": "^4.17.21",
- "redux": "^3.7.2",
- "redux-saga": "1.0.0",
- "reselect-tree": "^1.3.7",
- "semver": "7.5.2",
- "web3": "1.10.0",
- "web3-eth-abi": "1.10.0"
- },
- "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,
- "peer": true
- },
- "cross-fetch": {
- "version": "3.1.8",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz",
- "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==",
- "dev": true,
- "peer": true,
- "requires": {
- "node-fetch": "^2.6.12"
- }
- },
- "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,
- "peer": 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,
- "peer": true
- }
- }
- },
- "semver": {
- "version": "7.5.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
- "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "web3": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.0.tgz",
- "integrity": "sha512-YfKY9wSkGcM8seO+daR89oVTcbu18NsVfvOngzqMYGUU0pPSQmE57qQDvQzUeoIOHAnXEBNzrhjQJmm8ER0rng==",
- "dev": true,
- "peer": true,
- "requires": {
- "web3-bzz": "1.10.0",
- "web3-core": "1.10.0",
- "web3-eth": "1.10.0",
- "web3-eth-personal": "1.10.0",
- "web3-net": "1.10.0",
- "web3-shh": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-bzz": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.0.tgz",
- "integrity": "sha512-o9IR59io3pDUsXTsps5pO5hW1D5zBmg46iNc2t4j2DkaYHNdDLwk2IP9ukoM2wg47QILfPEJYzhTfkS/CcX0KA==",
- "dev": true,
- "peer": true,
- "requires": {
- "@types/node": "^12.12.6",
- "got": "12.1.0",
- "swarm-js": "^0.1.40"
- }
- },
- "web3-core": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.0.tgz",
- "integrity": "sha512-fWySwqy2hn3TL89w5TM8wXF1Z2Q6frQTKHWmP0ppRQorEK8NcHJRfeMiv/mQlSKoTS1F6n/nv2uyZsixFycjYQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "@types/bn.js": "^5.1.1",
- "@types/node": "^12.12.6",
- "bignumber.js": "^9.0.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-core-requestmanager": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-core-helpers": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz",
- "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==",
- "dev": true,
- "peer": true,
- "requires": {
- "web3-eth-iban": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-core-method": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.0.tgz",
- "integrity": "sha512-4R700jTLAMKDMhQ+nsVfIXvH6IGJlJzGisIfMKWAIswH31h5AZz7uDUW2YctI+HrYd+5uOAlS4OJeeT9bIpvkA==",
- "dev": true,
- "peer": true,
- "requires": {
- "@ethersproject/transactions": "^5.6.2",
- "web3-core-helpers": "1.10.0",
- "web3-core-promievent": "1.10.0",
- "web3-core-subscriptions": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-core-promievent": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.0.tgz",
- "integrity": "sha512-68N7k5LWL5R38xRaKFrTFT2pm2jBNFaM4GioS00YjAKXRQ3KjmhijOMG3TICz6Aa5+6GDWYelDNx21YAeZ4YTg==",
- "dev": true,
- "peer": true,
- "requires": {
- "eventemitter3": "4.0.4"
- }
- },
- "web3-core-requestmanager": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.0.tgz",
- "integrity": "sha512-3z/JKE++Os62APml4dvBM+GAuId4h3L9ckUrj7ebEtS2AR0ixyQPbrBodgL91Sv7j7cQ3Y+hllaluqjguxvSaQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "util": "^0.12.5",
- "web3-core-helpers": "1.10.0",
- "web3-providers-http": "1.10.0",
- "web3-providers-ipc": "1.10.0",
- "web3-providers-ws": "1.10.0"
- }
- },
- "web3-core-subscriptions": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.0.tgz",
- "integrity": "sha512-HGm1PbDqsxejI075gxBc5OSkwymilRWZufIy9zEpnWKNmfbuv5FfHgW1/chtJP6aP3Uq2vHkvTDl3smQBb8l+g==",
- "dev": true,
- "peer": true,
- "requires": {
- "eventemitter3": "4.0.4",
- "web3-core-helpers": "1.10.0"
- }
- },
- "web3-eth": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.0.tgz",
- "integrity": "sha512-Z5vT6slNMLPKuwRyKGbqeGYC87OAy8bOblaqRTgg94CXcn/mmqU7iPIlG4506YdcdK3x6cfEDG7B6w+jRxypKA==",
- "dev": true,
- "peer": true,
- "requires": {
- "web3-core": "1.10.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-core-subscriptions": "1.10.0",
- "web3-eth-abi": "1.10.0",
- "web3-eth-accounts": "1.10.0",
- "web3-eth-contract": "1.10.0",
- "web3-eth-ens": "1.10.0",
- "web3-eth-iban": "1.10.0",
- "web3-eth-personal": "1.10.0",
- "web3-net": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-eth-accounts": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.0.tgz",
- "integrity": "sha512-wiq39Uc3mOI8rw24wE2n15hboLE0E9BsQLdlmsL4Zua9diDS6B5abXG0XhFcoNsXIGMWXVZz4TOq3u4EdpXF/Q==",
- "dev": true,
- "peer": true,
- "requires": {
- "@ethereumjs/common": "2.5.0",
- "@ethereumjs/tx": "3.3.2",
- "eth-lib": "0.2.8",
- "ethereumjs-util": "^7.1.5",
- "scrypt-js": "^3.0.1",
- "uuid": "^9.0.0",
- "web3-core": "1.10.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-eth-contract": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.0.tgz",
- "integrity": "sha512-MIC5FOzP/+2evDksQQ/dpcXhSqa/2hFNytdl/x61IeWxhh6vlFeSjq0YVTAyIzdjwnL7nEmZpjfI6y6/Ufhy7w==",
- "dev": true,
- "peer": true,
- "requires": {
- "@types/bn.js": "^5.1.1",
- "web3-core": "1.10.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-core-promievent": "1.10.0",
- "web3-core-subscriptions": "1.10.0",
- "web3-eth-abi": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-eth-ens": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.0.tgz",
- "integrity": "sha512-3hpGgzX3qjgxNAmqdrC2YUQMTfnZbs4GeLEmy8aCWziVwogbuqQZ+Gzdfrym45eOZodk+lmXyLuAdqkNlvkc1g==",
- "dev": true,
- "peer": true,
- "requires": {
- "content-hash": "^2.5.2",
- "eth-ens-namehash": "2.0.8",
- "web3-core": "1.10.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-promievent": "1.10.0",
- "web3-eth-abi": "1.10.0",
- "web3-eth-contract": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-eth-iban": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz",
- "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==",
- "dev": true,
- "peer": true,
- "requires": {
- "bn.js": "^5.2.1",
- "web3-utils": "1.10.0"
- }
- },
- "web3-eth-personal": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.0.tgz",
- "integrity": "sha512-anseKn98w/d703eWq52uNuZi7GhQeVjTC5/svrBWEKob0WZ5kPdo+EZoFN0sp5a5ubbrk/E0xSl1/M5yORMtpg==",
- "dev": true,
- "peer": true,
- "requires": {
- "@types/node": "^12.12.6",
- "web3-core": "1.10.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-net": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-net": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.0.tgz",
- "integrity": "sha512-NLH/N3IshYWASpxk4/18Ge6n60GEvWBVeM8inx2dmZJVmRI6SJIlUxbL8jySgiTn3MMZlhbdvrGo8fpUW7a1GA==",
- "dev": true,
- "peer": true,
- "requires": {
- "web3-core": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-providers-http": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.0.tgz",
- "integrity": "sha512-eNr965YB8a9mLiNrkjAWNAPXgmQWfpBfkkn7tpEFlghfww0u3I0tktMZiaToJVcL2+Xq+81cxbkpeWJ5XQDwOA==",
- "dev": true,
- "peer": true,
- "requires": {
- "abortcontroller-polyfill": "^1.7.3",
- "cross-fetch": "^3.1.4",
- "es6-promise": "^4.2.8",
- "web3-core-helpers": "1.10.0"
- }
- },
- "web3-providers-ipc": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.0.tgz",
- "integrity": "sha512-OfXG1aWN8L1OUqppshzq8YISkWrYHaATW9H8eh0p89TlWMc1KZOL9vttBuaBEi96D/n0eYDn2trzt22bqHWfXA==",
- "dev": true,
- "peer": true,
- "requires": {
- "oboe": "2.1.5",
- "web3-core-helpers": "1.10.0"
- }
- },
- "web3-providers-ws": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.0.tgz",
- "integrity": "sha512-sK0fNcglW36yD5xjnjtSGBnEtf59cbw4vZzJ+CmOWIKGIR96mP5l684g0WD0Eo+f4NQc2anWWXG74lRc9OVMCQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "eventemitter3": "4.0.4",
- "web3-core-helpers": "1.10.0",
- "websocket": "^1.0.32"
- }
- },
- "web3-shh": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.0.tgz",
- "integrity": "sha512-uNUUuNsO2AjX41GJARV9zJibs11eq6HtOe6Wr0FtRUcj8SN6nHeYIzwstAvJ4fXA53gRqFMTxdntHEt9aXVjpg==",
- "dev": true,
- "peer": true,
- "requires": {
- "web3-core": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-core-subscriptions": "1.10.0",
- "web3-net": "1.10.0"
- }
- },
- "web3-utils": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz",
- "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==",
- "dev": true,
- "peer": 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"
- }
- }
- }
- },
- "@truffle/error": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.2.1.tgz",
- "integrity": "sha512-5Qy+z9dg9hP37WNdLnXH4b9MzemWrjTufRq7/DTKqimjyxCP/1zlL8gQEMdiSx1BBtAZz0xypkID/jb7AF/Osg==",
- "dev": true,
- "peer": true
- },
- "@truffle/events": {
- "version": "0.1.24",
- "resolved": "https://registry.npmjs.org/@truffle/events/-/events-0.1.24.tgz",
- "integrity": "sha512-rS+jKDjmdM0g+14H/H8MzhohaTKsSS6plNNzO95MIcUs0Ytinu1DXfSkUovDpgv5h2NcRoU0BMTKCR21Y3JiNw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@truffle/dashboard-message-bus-client": "^0.1.11",
- "@truffle/spinners": "^0.2.4",
- "debug": "^4.3.1",
- "emittery": "^0.4.1",
- "web3-utils": "1.10.0"
- },
- "dependencies": {
- "web3-utils": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz",
- "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==",
- "dev": true,
- "optional": true,
- "peer": 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"
- }
- }
- }
- },
- "@truffle/interface-adapter": {
- "version": "0.5.36",
- "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.36.tgz",
- "integrity": "sha512-e6ECu9YDJuQjjxphdtJatHGgjlGsX/a3rQwqG2kBrK4cynGJdlejoo2iv/7Dj97wgIMIr1qH3L2WDrfTNF+K1g==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "bn.js": "^5.1.3",
- "ethers": "^4.0.32",
- "web3": "1.10.0"
- },
- "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,
- "optional": true,
- "peer": true
- },
- "cross-fetch": {
- "version": "3.1.8",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz",
- "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "node-fetch": "^2.6.12"
- }
- },
- "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,
- "optional": true,
- "peer": 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,
- "optional": true,
- "peer": true
- }
- }
- },
- "ethers": {
- "version": "4.0.49",
- "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz",
- "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==",
- "dev": true,
- "optional": true,
- "peer": 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,
- "optional": true,
- "peer": 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,
- "optional": true,
- "peer": 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,
- "optional": true,
- "peer": 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,
- "optional": true,
- "peer": 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,
- "optional": true,
- "peer": true
- },
- "uuid": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz",
- "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "web3": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.0.tgz",
- "integrity": "sha512-YfKY9wSkGcM8seO+daR89oVTcbu18NsVfvOngzqMYGUU0pPSQmE57qQDvQzUeoIOHAnXEBNzrhjQJmm8ER0rng==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "web3-bzz": "1.10.0",
- "web3-core": "1.10.0",
- "web3-eth": "1.10.0",
- "web3-eth-personal": "1.10.0",
- "web3-net": "1.10.0",
- "web3-shh": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-bzz": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.0.tgz",
- "integrity": "sha512-o9IR59io3pDUsXTsps5pO5hW1D5zBmg46iNc2t4j2DkaYHNdDLwk2IP9ukoM2wg47QILfPEJYzhTfkS/CcX0KA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/node": "^12.12.6",
- "got": "12.1.0",
- "swarm-js": "^0.1.40"
- }
- },
- "web3-core": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.0.tgz",
- "integrity": "sha512-fWySwqy2hn3TL89w5TM8wXF1Z2Q6frQTKHWmP0ppRQorEK8NcHJRfeMiv/mQlSKoTS1F6n/nv2uyZsixFycjYQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/bn.js": "^5.1.1",
- "@types/node": "^12.12.6",
- "bignumber.js": "^9.0.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-core-requestmanager": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-core-helpers": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz",
- "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "web3-eth-iban": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-core-method": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.0.tgz",
- "integrity": "sha512-4R700jTLAMKDMhQ+nsVfIXvH6IGJlJzGisIfMKWAIswH31h5AZz7uDUW2YctI+HrYd+5uOAlS4OJeeT9bIpvkA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@ethersproject/transactions": "^5.6.2",
- "web3-core-helpers": "1.10.0",
- "web3-core-promievent": "1.10.0",
- "web3-core-subscriptions": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-core-promievent": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.0.tgz",
- "integrity": "sha512-68N7k5LWL5R38xRaKFrTFT2pm2jBNFaM4GioS00YjAKXRQ3KjmhijOMG3TICz6Aa5+6GDWYelDNx21YAeZ4YTg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "eventemitter3": "4.0.4"
- }
- },
- "web3-core-requestmanager": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.0.tgz",
- "integrity": "sha512-3z/JKE++Os62APml4dvBM+GAuId4h3L9ckUrj7ebEtS2AR0ixyQPbrBodgL91Sv7j7cQ3Y+hllaluqjguxvSaQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "util": "^0.12.5",
- "web3-core-helpers": "1.10.0",
- "web3-providers-http": "1.10.0",
- "web3-providers-ipc": "1.10.0",
- "web3-providers-ws": "1.10.0"
- }
- },
- "web3-core-subscriptions": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.0.tgz",
- "integrity": "sha512-HGm1PbDqsxejI075gxBc5OSkwymilRWZufIy9zEpnWKNmfbuv5FfHgW1/chtJP6aP3Uq2vHkvTDl3smQBb8l+g==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "eventemitter3": "4.0.4",
- "web3-core-helpers": "1.10.0"
- }
- },
- "web3-eth": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.0.tgz",
- "integrity": "sha512-Z5vT6slNMLPKuwRyKGbqeGYC87OAy8bOblaqRTgg94CXcn/mmqU7iPIlG4506YdcdK3x6cfEDG7B6w+jRxypKA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "web3-core": "1.10.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-core-subscriptions": "1.10.0",
- "web3-eth-abi": "1.10.0",
- "web3-eth-accounts": "1.10.0",
- "web3-eth-contract": "1.10.0",
- "web3-eth-ens": "1.10.0",
- "web3-eth-iban": "1.10.0",
- "web3-eth-personal": "1.10.0",
- "web3-net": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-eth-accounts": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.0.tgz",
- "integrity": "sha512-wiq39Uc3mOI8rw24wE2n15hboLE0E9BsQLdlmsL4Zua9diDS6B5abXG0XhFcoNsXIGMWXVZz4TOq3u4EdpXF/Q==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@ethereumjs/common": "2.5.0",
- "@ethereumjs/tx": "3.3.2",
- "eth-lib": "0.2.8",
- "ethereumjs-util": "^7.1.5",
- "scrypt-js": "^3.0.1",
- "uuid": "^9.0.0",
- "web3-core": "1.10.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-utils": "1.10.0"
- },
- "dependencies": {
- "scrypt-js": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz",
- "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "uuid": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
- "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
- "dev": true,
- "optional": true,
- "peer": true
- }
- }
- },
- "web3-eth-contract": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.0.tgz",
- "integrity": "sha512-MIC5FOzP/+2evDksQQ/dpcXhSqa/2hFNytdl/x61IeWxhh6vlFeSjq0YVTAyIzdjwnL7nEmZpjfI6y6/Ufhy7w==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/bn.js": "^5.1.1",
- "web3-core": "1.10.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-core-promievent": "1.10.0",
- "web3-core-subscriptions": "1.10.0",
- "web3-eth-abi": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-eth-ens": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.0.tgz",
- "integrity": "sha512-3hpGgzX3qjgxNAmqdrC2YUQMTfnZbs4GeLEmy8aCWziVwogbuqQZ+Gzdfrym45eOZodk+lmXyLuAdqkNlvkc1g==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "content-hash": "^2.5.2",
- "eth-ens-namehash": "2.0.8",
- "web3-core": "1.10.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-promievent": "1.10.0",
- "web3-eth-abi": "1.10.0",
- "web3-eth-contract": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-eth-iban": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz",
- "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "bn.js": "^5.2.1",
- "web3-utils": "1.10.0"
- }
- },
- "web3-eth-personal": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.0.tgz",
- "integrity": "sha512-anseKn98w/d703eWq52uNuZi7GhQeVjTC5/svrBWEKob0WZ5kPdo+EZoFN0sp5a5ubbrk/E0xSl1/M5yORMtpg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/node": "^12.12.6",
- "web3-core": "1.10.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-net": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-net": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.0.tgz",
- "integrity": "sha512-NLH/N3IshYWASpxk4/18Ge6n60GEvWBVeM8inx2dmZJVmRI6SJIlUxbL8jySgiTn3MMZlhbdvrGo8fpUW7a1GA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "web3-core": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-providers-http": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.0.tgz",
- "integrity": "sha512-eNr965YB8a9mLiNrkjAWNAPXgmQWfpBfkkn7tpEFlghfww0u3I0tktMZiaToJVcL2+Xq+81cxbkpeWJ5XQDwOA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "abortcontroller-polyfill": "^1.7.3",
- "cross-fetch": "^3.1.4",
- "es6-promise": "^4.2.8",
- "web3-core-helpers": "1.10.0"
- }
- },
- "web3-providers-ipc": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.0.tgz",
- "integrity": "sha512-OfXG1aWN8L1OUqppshzq8YISkWrYHaATW9H8eh0p89TlWMc1KZOL9vttBuaBEi96D/n0eYDn2trzt22bqHWfXA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "oboe": "2.1.5",
- "web3-core-helpers": "1.10.0"
- }
- },
- "web3-providers-ws": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.0.tgz",
- "integrity": "sha512-sK0fNcglW36yD5xjnjtSGBnEtf59cbw4vZzJ+CmOWIKGIR96mP5l684g0WD0Eo+f4NQc2anWWXG74lRc9OVMCQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "eventemitter3": "4.0.4",
- "web3-core-helpers": "1.10.0",
- "websocket": "^1.0.32"
- }
- },
- "web3-shh": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.0.tgz",
- "integrity": "sha512-uNUUuNsO2AjX41GJARV9zJibs11eq6HtOe6Wr0FtRUcj8SN6nHeYIzwstAvJ4fXA53gRqFMTxdntHEt9aXVjpg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "web3-core": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-core-subscriptions": "1.10.0",
- "web3-net": "1.10.0"
- }
- },
- "web3-utils": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz",
- "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==",
- "dev": true,
- "optional": true,
- "peer": 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"
- }
- }
- }
- },
- "@truffle/promise-tracker": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/@truffle/promise-tracker/-/promise-tracker-0.1.6.tgz",
- "integrity": "sha512-oUZ4Mc6Yt/qTvFZ/yD4nnUIN8pXhrBN0h4/SZ4e8W1TcHNvQkV6gUkkYkn8fZRvFwTMYjvWot+eAHHNRsSl/eA==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "@truffle/provider": {
- "version": "0.3.12",
- "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.3.12.tgz",
- "integrity": "sha512-R7zS1eyY8H37ExkMxmMqa6bFN4UYLiYSCc+4g/8IjEU2lZXhKWUXA2gWzuMPT+XWfAu+IrC1PqLIHQgYe05EVA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@truffle/error": "^0.2.1",
- "@truffle/interface-adapter": "^0.5.36",
- "debug": "^4.3.1",
- "web3": "1.10.0"
- },
- "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,
- "optional": true,
- "peer": true
- },
- "cross-fetch": {
- "version": "3.1.8",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz",
- "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "node-fetch": "^2.6.12"
- }
- },
- "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,
- "optional": true,
- "peer": 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,
- "optional": true,
- "peer": true
- }
- }
- },
- "web3": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.0.tgz",
- "integrity": "sha512-YfKY9wSkGcM8seO+daR89oVTcbu18NsVfvOngzqMYGUU0pPSQmE57qQDvQzUeoIOHAnXEBNzrhjQJmm8ER0rng==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "web3-bzz": "1.10.0",
- "web3-core": "1.10.0",
- "web3-eth": "1.10.0",
- "web3-eth-personal": "1.10.0",
- "web3-net": "1.10.0",
- "web3-shh": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-bzz": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.0.tgz",
- "integrity": "sha512-o9IR59io3pDUsXTsps5pO5hW1D5zBmg46iNc2t4j2DkaYHNdDLwk2IP9ukoM2wg47QILfPEJYzhTfkS/CcX0KA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/node": "^12.12.6",
- "got": "12.1.0",
- "swarm-js": "^0.1.40"
- }
- },
- "web3-core": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.0.tgz",
- "integrity": "sha512-fWySwqy2hn3TL89w5TM8wXF1Z2Q6frQTKHWmP0ppRQorEK8NcHJRfeMiv/mQlSKoTS1F6n/nv2uyZsixFycjYQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/bn.js": "^5.1.1",
- "@types/node": "^12.12.6",
- "bignumber.js": "^9.0.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-core-requestmanager": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-core-helpers": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz",
- "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "web3-eth-iban": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-core-method": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.0.tgz",
- "integrity": "sha512-4R700jTLAMKDMhQ+nsVfIXvH6IGJlJzGisIfMKWAIswH31h5AZz7uDUW2YctI+HrYd+5uOAlS4OJeeT9bIpvkA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@ethersproject/transactions": "^5.6.2",
- "web3-core-helpers": "1.10.0",
- "web3-core-promievent": "1.10.0",
- "web3-core-subscriptions": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-core-promievent": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.0.tgz",
- "integrity": "sha512-68N7k5LWL5R38xRaKFrTFT2pm2jBNFaM4GioS00YjAKXRQ3KjmhijOMG3TICz6Aa5+6GDWYelDNx21YAeZ4YTg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "eventemitter3": "4.0.4"
- }
- },
- "web3-core-requestmanager": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.0.tgz",
- "integrity": "sha512-3z/JKE++Os62APml4dvBM+GAuId4h3L9ckUrj7ebEtS2AR0ixyQPbrBodgL91Sv7j7cQ3Y+hllaluqjguxvSaQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "util": "^0.12.5",
- "web3-core-helpers": "1.10.0",
- "web3-providers-http": "1.10.0",
- "web3-providers-ipc": "1.10.0",
- "web3-providers-ws": "1.10.0"
- }
- },
- "web3-core-subscriptions": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.0.tgz",
- "integrity": "sha512-HGm1PbDqsxejI075gxBc5OSkwymilRWZufIy9zEpnWKNmfbuv5FfHgW1/chtJP6aP3Uq2vHkvTDl3smQBb8l+g==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "eventemitter3": "4.0.4",
- "web3-core-helpers": "1.10.0"
- }
- },
- "web3-eth": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.0.tgz",
- "integrity": "sha512-Z5vT6slNMLPKuwRyKGbqeGYC87OAy8bOblaqRTgg94CXcn/mmqU7iPIlG4506YdcdK3x6cfEDG7B6w+jRxypKA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "web3-core": "1.10.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-core-subscriptions": "1.10.0",
- "web3-eth-abi": "1.10.0",
- "web3-eth-accounts": "1.10.0",
- "web3-eth-contract": "1.10.0",
- "web3-eth-ens": "1.10.0",
- "web3-eth-iban": "1.10.0",
- "web3-eth-personal": "1.10.0",
- "web3-net": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-eth-accounts": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.0.tgz",
- "integrity": "sha512-wiq39Uc3mOI8rw24wE2n15hboLE0E9BsQLdlmsL4Zua9diDS6B5abXG0XhFcoNsXIGMWXVZz4TOq3u4EdpXF/Q==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@ethereumjs/common": "2.5.0",
- "@ethereumjs/tx": "3.3.2",
- "eth-lib": "0.2.8",
- "ethereumjs-util": "^7.1.5",
- "scrypt-js": "^3.0.1",
- "uuid": "^9.0.0",
- "web3-core": "1.10.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-eth-contract": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.0.tgz",
- "integrity": "sha512-MIC5FOzP/+2evDksQQ/dpcXhSqa/2hFNytdl/x61IeWxhh6vlFeSjq0YVTAyIzdjwnL7nEmZpjfI6y6/Ufhy7w==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/bn.js": "^5.1.1",
- "web3-core": "1.10.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-core-promievent": "1.10.0",
- "web3-core-subscriptions": "1.10.0",
- "web3-eth-abi": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-eth-ens": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.0.tgz",
- "integrity": "sha512-3hpGgzX3qjgxNAmqdrC2YUQMTfnZbs4GeLEmy8aCWziVwogbuqQZ+Gzdfrym45eOZodk+lmXyLuAdqkNlvkc1g==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "content-hash": "^2.5.2",
- "eth-ens-namehash": "2.0.8",
- "web3-core": "1.10.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-promievent": "1.10.0",
- "web3-eth-abi": "1.10.0",
- "web3-eth-contract": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-eth-iban": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz",
- "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "bn.js": "^5.2.1",
- "web3-utils": "1.10.0"
- }
- },
- "web3-eth-personal": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.0.tgz",
- "integrity": "sha512-anseKn98w/d703eWq52uNuZi7GhQeVjTC5/svrBWEKob0WZ5kPdo+EZoFN0sp5a5ubbrk/E0xSl1/M5yORMtpg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/node": "^12.12.6",
- "web3-core": "1.10.0",
- "web3-core-helpers": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-net": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-net": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.0.tgz",
- "integrity": "sha512-NLH/N3IshYWASpxk4/18Ge6n60GEvWBVeM8inx2dmZJVmRI6SJIlUxbL8jySgiTn3MMZlhbdvrGo8fpUW7a1GA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "web3-core": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-utils": "1.10.0"
- }
- },
- "web3-providers-http": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.0.tgz",
- "integrity": "sha512-eNr965YB8a9mLiNrkjAWNAPXgmQWfpBfkkn7tpEFlghfww0u3I0tktMZiaToJVcL2+Xq+81cxbkpeWJ5XQDwOA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "abortcontroller-polyfill": "^1.7.3",
- "cross-fetch": "^3.1.4",
- "es6-promise": "^4.2.8",
- "web3-core-helpers": "1.10.0"
- }
- },
- "web3-providers-ipc": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.0.tgz",
- "integrity": "sha512-OfXG1aWN8L1OUqppshzq8YISkWrYHaATW9H8eh0p89TlWMc1KZOL9vttBuaBEi96D/n0eYDn2trzt22bqHWfXA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "oboe": "2.1.5",
- "web3-core-helpers": "1.10.0"
- }
- },
- "web3-providers-ws": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.0.tgz",
- "integrity": "sha512-sK0fNcglW36yD5xjnjtSGBnEtf59cbw4vZzJ+CmOWIKGIR96mP5l684g0WD0Eo+f4NQc2anWWXG74lRc9OVMCQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "eventemitter3": "4.0.4",
- "web3-core-helpers": "1.10.0",
- "websocket": "^1.0.32"
- }
- },
- "web3-shh": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.0.tgz",
- "integrity": "sha512-uNUUuNsO2AjX41GJARV9zJibs11eq6HtOe6Wr0FtRUcj8SN6nHeYIzwstAvJ4fXA53gRqFMTxdntHEt9aXVjpg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "web3-core": "1.10.0",
- "web3-core-method": "1.10.0",
- "web3-core-subscriptions": "1.10.0",
- "web3-net": "1.10.0"
- }
- },
- "web3-utils": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz",
- "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==",
- "dev": true,
- "optional": true,
- "peer": 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"
- }
- }
- }
- },
- "@truffle/source-map-utils": {
- "version": "1.3.118",
- "resolved": "https://registry.npmjs.org/@truffle/source-map-utils/-/source-map-utils-1.3.118.tgz",
- "integrity": "sha512-SGOW6moch7MqsjSoUf7e/y6xuCZi5M6kEtSG1aaZQJrxrj/ZuooYpShXxISyiOAB89QZ5txCRVsN2EnNYgjjkA==",
- "dev": true,
- "peer": true,
- "requires": {
- "@truffle/code-utils": "^3.0.3",
- "@truffle/codec": "^0.17.2",
- "debug": "^4.3.1",
- "json-pointer": "^0.6.1",
- "node-interval-tree": "^1.3.3",
- "web3-utils": "1.10.0"
- },
- "dependencies": {
- "web3-utils": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz",
- "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==",
- "dev": true,
- "peer": 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"
- }
- }
- }
- },
- "@truffle/spinners": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/@truffle/spinners/-/spinners-0.2.4.tgz",
- "integrity": "sha512-8GsIX9GzO6wBDGoNF4yAmQEe95TiIuAJq9p+2szCKGArYbAD3kbn+mG3TMS3Gr/zAS5p7fTJxnCm60E2HghsUQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@trufflesuite/spinnies": "^0.1.1"
- }
- },
- "@trufflesuite/spinnies": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@trufflesuite/spinnies/-/spinnies-0.1.1.tgz",
- "integrity": "sha512-jltEtmFJj6xmQqr85gP8OqBHCEiId+zw+uAsb3DyLLRD17O6sySW6Afa2Z/jpzSafj+32ssDfLJ+c0of1NLqcA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "chalk": "^4.1.2",
- "cli-cursor": "^3.1.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "@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.4",
- "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
- "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
- "dev": true
- },
- "@typechain/ethers-v5": {
- "version": "10.2.1",
- "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-10.2.1.tgz",
- "integrity": "sha512-n3tQmCZjRE6IU4h6lqUGiQ1j866n5MTCBJreNEHHVWXa2u9GJTaeYyU1/k+1qLutkyw+sS6VAN+AbeiTqsxd/A==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.15",
- "ts-essentials": "^7.0.1"
- }
- },
- "@typechain/truffle-v5": {
- "version": "8.0.6",
- "resolved": "https://registry.npmjs.org/@typechain/truffle-v5/-/truffle-v5-8.0.6.tgz",
- "integrity": "sha512-0G8rAQVpJcW2rCJUMBfq/D4FxWk3sBwxzywUYQc0vngV514Yv1JtU8L3W0lNjXoDRjABdNzksrZ0He6IcxFDpw==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.15"
- }
- },
- "@typechain/web3-v1": {
- "version": "6.0.6",
- "resolved": "https://registry.npmjs.org/@typechain/web3-v1/-/web3-v1-6.0.6.tgz",
- "integrity": "sha512-oHHETjYisbINuUIBkaq5x4pfNuhlbw+18/W6IJhwnu9/mEKoySotmmnNL5SemeNPH6aba6vCIkjTIwpit200BQ==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.15",
- "ts-essentials": "^7.0.1"
- }
- },
- "@types/accepts": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz",
- "integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@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,
- "peer": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/body-parser": {
- "version": "1.19.2",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
- "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "@types/cacheable-request": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz",
- "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==",
- "dev": true,
- "peer": true,
- "requires": {
- "@types/http-cache-semantics": "*",
- "@types/keyv": "^3.1.4",
- "@types/node": "*",
- "@types/responselike": "^1.0.0"
- }
- },
- "@types/connect": {
- "version": "3.4.35",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
- "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/cors": {
- "version": "2.8.12",
- "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
- "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "@types/express": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz",
- "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.18",
- "@types/qs": "*",
- "@types/serve-static": "*"
- }
- },
- "@types/express-serve-static-core": {
- "version": "4.17.36",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.36.tgz",
- "integrity": "sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*",
- "@types/send": "*"
- }
- },
- "@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,
- "peer": true
- },
- "@types/http-errors": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz",
- "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==",
- "dev": true,
- "optional": true,
- "peer": 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,
- "peer": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/long": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
- "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "@types/mime": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
- "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "@types/node": {
- "version": "20.5.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.9.tgz",
- "integrity": "sha512-PcGNd//40kHAS3sTlzKB9C9XL4K0sTup8nbG5lC14kzEteTNuAFh9u5nA0o5TWnSG2r/JNPRXFVcHJIIeRlmqQ==",
- "dev": true,
- "peer": true
- },
- "@types/pbkdf2": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz",
- "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/prettier": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz",
- "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==",
- "dev": true
- },
- "@types/qs": {
- "version": "6.9.8",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz",
- "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "@types/range-parser": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
- "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==",
- "dev": true,
- "optional": true,
- "peer": 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,
- "peer": 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,
- "peer": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/send": {
- "version": "0.17.1",
- "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz",
- "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/mime": "^1",
- "@types/node": "*"
- }
- },
- "@types/serve-static": {
- "version": "1.15.2",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz",
- "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/http-errors": "*",
- "@types/mime": "*",
- "@types/node": "*"
- }
- },
- "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,
- "optional": true,
- "peer": true,
- "requires": {
- "event-target-shim": "^5.0.0"
- }
- },
- "abortcontroller-polyfill": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz",
- "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==",
- "dev": true,
- "peer": true
- },
- "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==",
- "dev": true,
- "peer": true,
- "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"
- }
- },
- "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,
- "peer": true,
- "requires": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
- }
- },
- "acorn": {
- "version": "8.10.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
- "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
- "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
- },
- "aes-js": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz",
- "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==",
- "dev": true,
- "peer": true
- },
- "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"
- }
- },
- "ajv-formats": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
- "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "ajv": "^8.0.0"
- },
- "dependencies": {
- "ajv": {
- "version": "8.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
- "dev": true,
- "optional": true,
- "peer": 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"
- }
- },
- "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,
- "optional": true,
- "peer": 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,
- "optional": true,
- "peer": true
- }
- }
- },
- "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,
- "peer": true
- },
- "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"
- }
- },
- "antlr4": {
- "version": "4.13.0",
- "resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.13.0.tgz",
- "integrity": "sha512-zooUbt+UscjnWyOrsuY/tVFL4rwrAGwOivpQmvmUDE22hy/lUA467Rc1rcixyRwcRUIXFYBwv7+dClDSHdmmew==",
- "dev": true
- },
- "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.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "dev": true,
- "peer": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "apollo-datasource": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-3.3.2.tgz",
- "integrity": "sha512-L5TiS8E2Hn/Yz7SSnWIVbZw0ZfEIXZCa5VUiVxD9P53JvSrf4aStvsFDlGWPvpIdCR+aly2CfoB79B9/JjKFqg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@apollo/utils.keyvaluecache": "^1.0.1",
- "apollo-server-env": "^4.2.1"
- }
- },
- "apollo-reporting-protobuf": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.4.0.tgz",
- "integrity": "sha512-h0u3EbC/9RpihWOmcSsvTW2O6RXVaD/mPEjfrPkxRPTEPWqncsgOoRJw+wih4OqfH3PvTJvoEIf4LwKrUaqWog==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@apollo/protobufjs": "1.2.6"
- },
- "dependencies": {
- "@apollo/protobufjs": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.6.tgz",
- "integrity": "sha512-Wqo1oSHNUj/jxmsVp4iR3I480p6qdqHikn38lKrFhfzcDJ7lwd7Ck7cHRl4JE81tWNArl77xhnG/OkZhxKBYOw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@protobufjs/aspromise": "^1.1.2",
- "@protobufjs/base64": "^1.1.2",
- "@protobufjs/codegen": "^2.0.4",
- "@protobufjs/eventemitter": "^1.1.0",
- "@protobufjs/fetch": "^1.1.0",
- "@protobufjs/float": "^1.0.2",
- "@protobufjs/inquire": "^1.1.0",
- "@protobufjs/path": "^1.1.2",
- "@protobufjs/pool": "^1.1.0",
- "@protobufjs/utf8": "^1.1.0",
- "@types/long": "^4.0.0",
- "@types/node": "^10.1.0",
- "long": "^4.0.0"
- }
- },
- "@types/node": {
- "version": "10.17.60",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
- "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==",
- "dev": true,
- "optional": true,
- "peer": true
- }
- }
- },
- "apollo-server": {
- "version": "3.12.1",
- "resolved": "https://registry.npmjs.org/apollo-server/-/apollo-server-3.12.1.tgz",
- "integrity": "sha512-wgxx+J8KPTkhepi4qI9qY1xNoYzJfmvRKVUdFmFCZ3lyPO2j/+oOnAnyEVruAIQU5gquK10B0jdwVyvese9J/g==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/express": "4.17.14",
- "apollo-server-core": "^3.12.1",
- "apollo-server-express": "^3.12.1",
- "express": "^4.17.1"
- }
- },
- "apollo-server-core": {
- "version": "3.12.1",
- "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-3.12.1.tgz",
- "integrity": "sha512-9SF5WAkkV0FZQ2HVUWI9Jada1U0jg7e8NCN9EklbtvaCeUlOLyXyM+KCWuZ7+dqHxjshbtcwylPHutt3uzoNkw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@apollo/utils.keyvaluecache": "^1.0.1",
- "@apollo/utils.logger": "^1.0.0",
- "@apollo/utils.usagereporting": "^1.0.0",
- "@apollographql/apollo-tools": "^0.5.3",
- "@apollographql/graphql-playground-html": "1.6.29",
- "@graphql-tools/mock": "^8.1.2",
- "@graphql-tools/schema": "^8.0.0",
- "@josephg/resolvable": "^1.0.0",
- "apollo-datasource": "^3.3.2",
- "apollo-reporting-protobuf": "^3.4.0",
- "apollo-server-env": "^4.2.1",
- "apollo-server-errors": "^3.3.1",
- "apollo-server-plugin-base": "^3.7.2",
- "apollo-server-types": "^3.8.0",
- "async-retry": "^1.2.1",
- "fast-json-stable-stringify": "^2.1.0",
- "graphql-tag": "^2.11.0",
- "loglevel": "^1.6.8",
- "lru-cache": "^6.0.0",
- "node-abort-controller": "^3.0.1",
- "sha.js": "^2.4.11",
- "uuid": "^9.0.0",
- "whatwg-mimetype": "^3.0.0"
- }
- },
- "apollo-server-env": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-4.2.1.tgz",
- "integrity": "sha512-vm/7c7ld+zFMxibzqZ7SSa5tBENc4B0uye9LTfjJwGoQFY5xsUPH5FpO5j0bMUDZ8YYNbrF9SNtzc5Cngcr90g==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "node-fetch": "^2.6.7"
- }
- },
- "apollo-server-errors": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-3.3.1.tgz",
- "integrity": "sha512-xnZJ5QWs6FixHICXHxUfm+ZWqqxrNuPlQ+kj5m6RtEgIpekOPssH/SD9gf2B4HuWV0QozorrygwZnux8POvyPA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {}
- },
- "apollo-server-express": {
- "version": "3.12.1",
- "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-3.12.1.tgz",
- "integrity": "sha512-5A9efrhEXqDx08BnORWf0zPYCABENqur47VZZW8osQpSSnMINqzJiV5RMrzz8wIznecRRhEcz+BqLdiexqZdgg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/accepts": "^1.3.5",
- "@types/body-parser": "1.19.2",
- "@types/cors": "2.8.12",
- "@types/express": "4.17.14",
- "@types/express-serve-static-core": "4.17.31",
- "accepts": "^1.3.5",
- "apollo-server-core": "^3.12.1",
- "apollo-server-types": "^3.8.0",
- "body-parser": "^1.19.0",
- "cors": "^2.8.5",
- "parseurl": "^1.3.3"
- },
- "dependencies": {
- "@types/express-serve-static-core": {
- "version": "4.17.31",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz",
- "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*"
- }
- }
- }
- },
- "apollo-server-plugin-base": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-3.7.2.tgz",
- "integrity": "sha512-wE8dwGDvBOGehSsPTRZ8P/33Jan6/PmL0y0aN/1Z5a5GcbFhDaaJCjK5cav6npbbGL2DPKK0r6MPXi3k3N45aw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "apollo-server-types": "^3.8.0"
- }
- },
- "apollo-server-types": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-3.8.0.tgz",
- "integrity": "sha512-ZI/8rTE4ww8BHktsVpb91Sdq7Cb71rdSkXELSwdSR0eXu600/sY+1UXhTWdiJvk+Eq5ljqoHLwLbY2+Clq2b9A==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@apollo/utils.keyvaluecache": "^1.0.1",
- "@apollo/utils.logger": "^1.0.0",
- "apollo-reporting-protobuf": "^3.4.0",
- "apollo-server-env": "^4.2.1"
- }
- },
- "app-module-path": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz",
- "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==",
- "dev": true,
- "peer": true
- },
- "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
- },
- "argsarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/argsarray/-/argsarray-0.0.1.tgz",
- "integrity": "sha512-u96dg2GcAKtpTrBdDoFIM7PjcBA+6rSP0OR94MOReNRyUECL6MtQt5XXmRr4qrftYaef9+l5hcpO5te7sML1Cg==",
- "dev": true,
- "optional": true,
- "peer": 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,
- "peer": 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,
- "peer": true,
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
- "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,
- "peer": true
- },
- "ast-parents": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/ast-parents/-/ast-parents-0.0.1.tgz",
- "integrity": "sha512-XHusKxKz3zoYk1ic8Un640joHbFMhbqneyoZfoKnEGtf2ey9Uh/IdpcQplODdO/kENaMIWsD0nJm4+wX3UNLHA==",
- "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-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,
- "peer": true
- },
- "async-retry": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz",
- "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "retry": "0.13.1"
- }
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
- "dev": true,
- "peer": 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,
- "optional": true,
- "peer": true
- },
- "atomically": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/atomically/-/atomically-1.7.0.tgz",
- "integrity": "sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==",
- "dev": true,
- "optional": true,
- "peer": 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,
- "peer": 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,
- "peer": true
- },
- "aws4": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz",
- "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==",
- "dev": true,
- "peer": true
- },
- "axios": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.4.tgz",
- "integrity": "sha512-lIQuCfBJvZB/Bv7+RWUqEJqNShGOVpk9v7P0ZWx5Ip0qY6u7JBAU6dzQPMLasU9vHL2uD8av/1FDJXj7n6c39w==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "follow-redirects": "^1.15.0",
- "form-data": "^4.0.0",
- "proxy-from-env": "^1.1.0"
- }
- },
- "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,
- "peer": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "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,
- "peer": true
- },
- "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,
- "peer": true,
- "requires": {
- "tweetnacl": "^0.14.3"
- }
- },
- "bech32": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz",
- "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==",
- "dev": true,
- "peer": true
- },
- "big-integer": {
- "version": "1.6.36",
- "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.36.tgz",
- "integrity": "sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg==",
- "dev": true,
- "peer": true
- },
- "big.js": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.2.1.tgz",
- "integrity": "sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ==",
- "dev": true,
- "peer": true
- },
- "bignumber.js": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz",
- "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": true
- },
- "body-parser": {
- "version": "1.20.2",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
- "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
- "dev": true,
- "peer": true,
- "requires": {
- "bytes": "3.1.2",
- "content-type": "~1.0.5",
- "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.2",
- "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,
- "peer": 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,
- "peer": 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"
- }
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "peer": 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,
- "peer": true
- },
- "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,
- "peer": 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,
- "peer": 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"
- }
- },
- "bs58": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz",
- "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==",
- "dev": true,
- "peer": 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,
- "peer": 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==",
- "dev": true,
- "peer": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "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,
- "optional": true,
- "peer": 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,
- "peer": 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,
- "peer": true
- },
- "bufferutil": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz",
- "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==",
- "dev": true,
- "peer": true,
- "requires": {
- "node-gyp-build": "^4.3.0"
- },
- "dependencies": {
- "node-gyp-build": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz",
- "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==",
- "dev": true,
- "peer": true
- }
- }
- },
- "bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
- "dev": true,
- "peer": true
- },
- "cacheable-lookup": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz",
- "integrity": "sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww==",
- "dev": true,
- "peer": true
- },
- "cacheable-request": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz",
- "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==",
- "dev": true,
- "peer": 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"
- },
- "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,
- "peer": 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,
- "peer": 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,
- "peer": 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==",
- "dev": true
- },
- "camel-case": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
- "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==",
- "dev": true,
- "peer": true,
- "requires": {
- "no-case": "^2.2.0",
- "upper-case": "^1.1.1"
- }
- },
- "camelcase": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
- "dev": true,
- "peer": true
- },
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
- "dev": true,
- "peer": true
- },
- "catering": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz",
- "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==",
- "dev": true,
- "peer": true
- },
- "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,
- "peer": true,
- "requires": {
- "bignumber.js": "^9.0.1",
- "nofilter": "^1.0.4"
- }
- },
- "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"
- }
- },
- "change-case": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.0.2.tgz",
- "integrity": "sha512-Mww+SLF6MZ0U6kdg11algyKd5BARbyM4TbFBepwowYSR5ClfQGCGtxNXgykpN0uF/bstWeaGDT4JWaDh8zWAHA==",
- "dev": true,
- "peer": true,
- "requires": {
- "camel-case": "^3.0.0",
- "constant-case": "^2.0.0",
- "dot-case": "^2.1.0",
- "header-case": "^1.0.0",
- "is-lower-case": "^1.1.0",
- "is-upper-case": "^1.1.0",
- "lower-case": "^1.1.1",
- "lower-case-first": "^1.0.0",
- "no-case": "^2.3.2",
- "param-case": "^2.1.0",
- "pascal-case": "^2.0.0",
- "path-case": "^2.1.0",
- "sentence-case": "^2.1.0",
- "snake-case": "^2.1.0",
- "swap-case": "^1.1.0",
- "title-case": "^2.1.0",
- "upper-case": "^1.1.1",
- "upper-case-first": "^1.1.0"
- }
- },
- "chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": true,
- "requires": {
- "buffer": "^5.5.0",
- "class-is": "^1.1.0",
- "multibase": "~0.6.0",
- "multicodec": "^1.0.0",
- "multihashes": "~0.4.15"
- },
- "dependencies": {
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": true
- },
- "cli-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
- "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "restore-cursor": "^3.1.0"
- }
- },
- "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,
- "peer": true,
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "clone-buffer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
- "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "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,
- "peer": true,
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
- "code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==",
- "dev": true,
- "peer": true
- },
- "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
- },
- "colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
- "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
- "dev": true,
- "peer": 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,
- "peer": true,
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "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": {
- "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"
- }
- },
- "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
- },
- "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"
- }
- },
- "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
- },
- "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
- },
- "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
- },
- "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"
- }
- },
- "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": "10.0.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
- "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
- "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
- },
- "conf": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/conf/-/conf-10.2.0.tgz",
- "integrity": "sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "ajv": "^8.6.3",
- "ajv-formats": "^2.1.1",
- "atomically": "^1.7.0",
- "debounce-fn": "^4.0.0",
- "dot-prop": "^6.0.1",
- "env-paths": "^2.2.1",
- "json-schema-typed": "^7.0.3",
- "onetime": "^5.1.2",
- "pkg-up": "^3.1.0",
- "semver": "^7.3.5"
- },
- "dependencies": {
- "ajv": {
- "version": "8.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
- "dev": true,
- "optional": true,
- "peer": 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"
- }
- },
- "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,
- "optional": true,
- "peer": 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,
- "optional": true,
- "peer": true
- }
- }
- },
- "constant-case": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz",
- "integrity": "sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "snake-case": "^2.1.0",
- "upper-case": "^1.1.1"
- }
- },
- "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,
- "peer": 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,
- "peer": true,
- "requires": {
- "cids": "^0.7.1",
- "multicodec": "^0.5.5",
- "multihashes": "^0.4.15"
- }
- },
- "content-type": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
- "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
- "dev": true,
- "peer": true
- },
- "cookie": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
- "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
- "dev": true,
- "peer": 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,
- "peer": true
- },
- "core-util-is": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
- "dev": true,
- "optional": true,
- "peer": 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,
- "peer": true,
- "requires": {
- "object-assign": "^4",
- "vary": "^1"
- }
- },
- "cosmiconfig": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.3.tgz",
- "integrity": "sha512-/VY+0IvFoE47hwgKHu8feeBFIb1Z1mcJFiLrNwaJpLoLa9qwLVquMGMr2OUwQmhpJDtsSQSasg/TMv1imec9xA==",
- "dev": true,
- "requires": {
- "import-fresh": "^3.3.0",
- "js-yaml": "^4.1.0",
- "parse-json": "^5.2.0",
- "path-type": "^4.0.0"
- }
- },
- "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,
- "peer": 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,
- "peer": 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,
- "peer": 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
- },
- "cross-fetch": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
- "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
- "dev": true,
- "peer": true,
- "requires": {
- "node-fetch": "^2.6.12"
- }
- },
- "crypto-addr-codec": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/crypto-addr-codec/-/crypto-addr-codec-0.1.8.tgz",
- "integrity": "sha512-GqAK90iLLgP3FvhNmHbpT3wR6dEdaM8hZyZtLX29SPardh3OA13RFLHDR6sntGCgRWOfiHqW6sIyohpNqOtV/g==",
- "dev": true,
- "peer": true,
- "requires": {
- "base-x": "^3.0.8",
- "big-integer": "1.6.36",
- "blakejs": "^1.1.0",
- "bs58": "^4.0.1",
- "ripemd160-min": "0.0.6",
- "safe-buffer": "^5.2.0",
- "sha3": "^2.1.1"
- }
- },
- "cssfilter": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz",
- "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "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,
- "peer": 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,
- "peer": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "dataloader": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.1.0.tgz",
- "integrity": "sha512-qTcEYLen3r7ojZNgVUaRggOI+KM7jrKxXeSHhogh/TWxYMeONEMqY+hmkobiYQozsGIyg9OYVzO4ZIfoB4I0pQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "debounce-fn": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-4.0.0.tgz",
- "integrity": "sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "mimic-fn": "^3.0.0"
- }
- },
- "debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
- "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,
- "peer": true
- },
- "decode-uri-component": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
- "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
- "dev": true,
- "peer": true
- },
- "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,
- "peer": true,
- "requires": {
- "mimic-response": "^3.1.0"
- },
- "dependencies": {
- "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,
- "peer": true
- }
- }
- },
- "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
- },
- "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,
- "peer": true
- },
- "deferred-leveldown": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz",
- "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "abstract-leveldown": "~6.2.1",
- "inherits": "^2.0.3"
- },
- "dependencies": {
- "abstract-leveldown": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz",
- "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "buffer": "^5.5.0",
- "immediate": "^3.2.3",
- "level-concat-iterator": "~2.0.0",
- "level-supports": "~1.0.0",
- "xtend": "~4.0.0"
- }
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "level-concat-iterator": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz",
- "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "level-supports": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz",
- "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "xtend": "^4.0.2"
- }
- }
- }
- },
- "delay": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz",
- "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "dev": true,
- "peer": 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,
- "peer": true
- },
- "destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
- "dev": true,
- "peer": true
- },
- "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,
- "peer": true
- },
- "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,
- "peer": true
- },
- "dot-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz",
- "integrity": "sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==",
- "dev": true,
- "peer": true,
- "requires": {
- "no-case": "^2.2.0"
- }
- },
- "dot-prop": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
- "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "is-obj": "^2.0.0"
- }
- },
- "double-ended-queue": {
- "version": "2.1.0-0",
- "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz",
- "integrity": "sha512-+BNfZ+deCo8hMNpDqDnvT+c0XpJ5cUa6mqYq89bho2Ifze4URTqRkcwR399hWoTrTkbZ/XJYDgP6rc7pRgffEQ==",
- "dev": true,
- "optional": true,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": true
- }
- }
- },
- "emittery": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.4.1.tgz",
- "integrity": "sha512-r4eRSeStEGf6M5SKdrQhhLK5bOwOBxQhIE3YSTnZE3GpKiLfnnhE+tPtrJE79+eDJgm39BM6LSoI8SCx4HbwlQ==",
- "dev": true,
- "peer": 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,
- "peer": true
- },
- "encoding-down": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz",
- "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "abstract-leveldown": "^6.2.1",
- "inherits": "^2.0.3",
- "level-codec": "^9.0.0",
- "level-errors": "^2.0.0"
- },
- "dependencies": {
- "abstract-leveldown": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz",
- "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "buffer": "^5.5.0",
- "immediate": "^3.2.3",
- "level-concat-iterator": "~2.0.0",
- "level-supports": "~1.0.0",
- "xtend": "~4.0.0"
- }
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "level-concat-iterator": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz",
- "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "level-supports": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz",
- "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "xtend": "^4.0.2"
- }
- }
- }
- },
- "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,
- "peer": true,
- "requires": {
- "once": "^1.4.0"
- }
- },
- "end-stream": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/end-stream/-/end-stream-0.1.0.tgz",
- "integrity": "sha512-Brl10T8kYnc75IepKizW6Y9liyW8ikz1B7n/xoHrJxoVSSjoqPn30sb7XVFfQERK4QfUMYRGs9dhWwtt2eu6uA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "write-stream": "~0.4.3"
- }
- },
- "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,
- "optional": true,
- "peer": true
- },
- "errno": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
- "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "prr": "~1.0.1"
- }
- },
- "error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dev": true,
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
- "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,
- "peer": 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,
- "peer": true,
- "requires": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
- }
- },
- "es6-promise": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
- "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
- "dev": true,
- "peer": true
- },
- "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,
- "peer": 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,
- "peer": 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,
- "peer": true
- },
- "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,
- "peer": true
- },
- "etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": true
- }
- }
- },
- "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,
- "peer": 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,
- "peer": 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,
- "peer": true
- },
- "ws": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
- "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
- "dev": true,
- "peer": 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,
- "peer": true,
- "requires": {
- "js-sha3": "^0.8.0"
- }
- },
- "ethereum-cryptography": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.1.2.tgz",
- "integrity": "sha512-Z5Ba0T0ImZ8fqXrJbpHcbpAvIswRte2wGNR/KePnu8GbbvgJ47lMxT/ZZPG6i9Jaht4azPDop4HaM00J0J59ug==",
- "dev": true,
- "peer": true,
- "requires": {
- "@noble/curves": "1.1.0",
- "@noble/hashes": "1.3.1",
- "@scure/bip32": "1.3.1",
- "@scure/bip39": "1.2.1"
- }
- },
- "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,
- "peer": 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"
- },
- "dependencies": {
- "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,
- "peer": 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"
- }
- }
- }
- },
- "ethers": {
- "version": "5.7.2",
- "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz",
- "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==",
- "dev": true,
- "peer": 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.2",
- "@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,
- "peer": 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,
- "peer": true
- }
- }
- },
- "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,
- "optional": true,
- "peer": true
- },
- "eventemitter3": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz",
- "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": 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": {
- "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,
- "peer": 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"
- }
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": true,
- "requires": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- }
- }
- }
- },
- "ext": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
- "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": true
- },
- "fast-check": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-3.1.1.tgz",
- "integrity": "sha512-3vtXinVyuUKCKFKYcwXhGE6NtGWkqF8Yh3rvMZNzmwz8EPrgoc/v4pDdLHyLnCyCI5MZpZZkDEwFyXyEONOxpA==",
- "dev": true,
- "peer": true,
- "requires": {
- "pure-rand": "^5.0.1"
- }
- },
- "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-diff": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
- "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
- "dev": true
- },
- "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
- },
- "fetch-cookie": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-0.11.0.tgz",
- "integrity": "sha512-BQm7iZLFhMWFy5CZ/162sAGjBfdNWb7a8LEqqnzsHFhxT/X/SVj/z2t2nu3aJvjlbQkrAlTUApplPRjWyH4mhA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "tough-cookie": "^2.3.3 || ^3.0.1 || ^4.0.0"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "optional": true,
- "peer": 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,
- "peer": 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,
- "optional": true,
- "peer": 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,
- "peer": true,
- "requires": {
- "is-callable": "^1.1.3"
- }
- },
- "foreach": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz",
- "integrity": "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==",
- "dev": true,
- "peer": true
- },
- "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,
- "peer": true
- },
- "form-data": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- }
- },
- "form-data-encoder": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz",
- "integrity": "sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==",
- "dev": true,
- "peer": true
- },
- "forwarded": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
- "dev": true,
- "peer": true
- },
- "fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
- "dev": true,
- "peer": true
- },
- "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,
- "optional": true,
- "peer": true,
- "requires": {
- "at-least-node": "^1.0.0",
- "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,
- "peer": true,
- "requires": {
- "minipass": "^2.6.0"
- }
- },
- "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.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
- "optional": true,
- "peer": 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,
- "peer": true
- },
- "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==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "ganache": {
- "version": "7.9.1",
- "resolved": "https://registry.npmjs.org/ganache/-/ganache-7.9.1.tgz",
- "integrity": "sha512-Tqhd4J3cpiLeYTD6ek/zlchSB107IVPMIm4ypyg+xz1sdkeALUnYYZnmY4Bdjqj3i6QwtlZPCu7U4qKy7HlWTA==",
- "dev": true,
- "peer": true,
- "requires": {
- "@trufflesuite/bigint-buffer": "1.1.10",
- "@trufflesuite/uws-js-unofficial": "20.30.0-unofficial.0",
- "@types/bn.js": "^5.1.0",
- "@types/lru-cache": "5.1.1",
- "@types/seedrandom": "3.0.1",
- "abstract-level": "1.0.3",
- "abstract-leveldown": "7.2.0",
- "async-eventemitter": "0.2.4",
- "bufferutil": "4.0.5",
- "emittery": "0.10.0",
- "keccak": "3.0.2",
- "leveldown": "6.1.0",
- "secp256k1": "4.0.3",
- "utf-8-validate": "5.0.7"
- },
- "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==",
- "extraneous": true,
- "requires": {
- "@jridgewell/trace-mapping": "0.3.9"
- },
- "dependencies": {
- "@jridgewell/trace-mapping": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
- "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
- "extraneous": true,
- "requires": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- }
- }
- }
- },
- "@discoveryjs/json-ext": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
- "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
- "extraneous": true
- },
- "@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
- "extraneous": true,
- "requires": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- },
- "@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==",
- "extraneous": true
- },
- "@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
- "extraneous": true
- },
- "@jridgewell/source-map": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
- "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
- "extraneous": true,
- "requires": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- },
- "@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==",
- "extraneous": true
- },
- "@jridgewell/trace-mapping": {
- "version": "0.3.17",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
- "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
- "extraneous": true,
- "requires": {
- "@jridgewell/resolve-uri": "3.1.0",
- "@jridgewell/sourcemap-codec": "1.4.14"
- }
- },
- "@microsoft/api-extractor": {
- "version": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.20.1.tgz",
- "integrity": "sha512-T7cqcK+JpvHGOj7cD2ZCCWS7Xgru1uOqZwrV/FSUdyKVs5fopZcbBSuetwD/akst3O7Ypryg3UOLP54S/vnVmA==",
- "extraneous": true,
- "requires": {
- "@microsoft/api-extractor-model": "7.16.0",
- "@microsoft/tsdoc": "0.13.2",
- "@microsoft/tsdoc-config": "~0.15.2",
- "@rushstack/node-core-library": "3.45.1",
- "@rushstack/rig-package": "0.3.8",
- "@rushstack/ts-command-line": "4.10.7",
- "colors": "~1.2.1",
- "lodash": "~4.17.15",
- "resolve": "~1.17.0",
- "semver": "~7.3.0",
- "source-map": "~0.6.1",
- "typescript": "~4.5.2"
- },
- "dependencies": {
- "typescript": {
- "version": "4.5.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz",
- "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==",
- "extraneous": true
- }
- }
- },
- "@microsoft/api-extractor-model": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.16.0.tgz",
- "integrity": "sha512-0FOrbNIny8mzBrzQnSIkEjAXk0JMSnPmWYxt3ZDTPVg9S8xIPzB6lfgTg9+Mimu0RKCpGKBpd+v2WcR5vGzyUQ==",
- "extraneous": true,
- "requires": {
- "@microsoft/tsdoc": "0.13.2",
- "@microsoft/tsdoc-config": "~0.15.2",
- "@rushstack/node-core-library": "3.45.1"
- }
- },
- "@microsoft/tsdoc": {
- "version": "0.13.2",
- "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz",
- "integrity": "sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg==",
- "extraneous": true
- },
- "@microsoft/tsdoc-config": {
- "version": "0.15.2",
- "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.15.2.tgz",
- "integrity": "sha512-mK19b2wJHSdNf8znXSMYVShAHktVr/ib0Ck2FA3lsVBSEhSI/TfXT7DJQkAYgcztTuwazGcg58ZjYdk0hTCVrA==",
- "extraneous": true,
- "requires": {
- "@microsoft/tsdoc": "0.13.2",
- "ajv": "~6.12.6",
- "jju": "~1.4.0",
- "resolve": "~1.19.0"
- },
- "dependencies": {
- "resolve": {
- "version": "1.19.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
- "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
- "extraneous": true,
- "requires": {
- "is-core-module": "^2.1.0",
- "path-parse": "^1.0.6"
- }
- }
- }
- },
- "@rushstack/node-core-library": {
- "version": "3.45.1",
- "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.45.1.tgz",
- "integrity": "sha512-BwdssTNe007DNjDBxJgInHg8ePytIPyT0La7ZZSQZF9+rSkT42AygXPGvbGsyFfEntjr4X37zZSJI7yGzL16cQ==",
- "extraneous": true,
- "requires": {
- "@types/node": "12.20.24",
- "colors": "~1.2.1",
- "fs-extra": "~7.0.1",
- "import-lazy": "~4.0.0",
- "jju": "~1.4.0",
- "resolve": "~1.17.0",
- "semver": "~7.3.0",
- "timsort": "~0.3.0",
- "z-schema": "~5.0.2"
- },
- "dependencies": {
- "@types/node": {
- "version": "12.20.24",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.24.tgz",
- "integrity": "sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==",
- "extraneous": true
- }
- }
- },
- "@rushstack/rig-package": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.3.8.tgz",
- "integrity": "sha512-MDWg1xovea99PWloSiYMjFcCLsrdjFtYt6aOyHNs5ojn5mxrzR6U9F83hvbQjTWnKPMvZtr0vcek+4n+OQOp3Q==",
- "extraneous": true,
- "requires": {
- "resolve": "~1.17.0",
- "strip-json-comments": "~3.1.1"
- }
- },
- "@rushstack/ts-command-line": {
- "version": "4.10.7",
- "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.10.7.tgz",
- "integrity": "sha512-CjS+DfNXUSO5Ab2wD1GBGtUTnB02OglRWGqfaTcac9Jn45V5MeUOsq/wA8wEeS5Y/3TZ2P1k+IWdVDiuOFP9Og==",
- "extraneous": true,
- "requires": {
- "@types/argparse": "1.0.38",
- "argparse": "~1.0.9",
- "colors": "~1.2.1",
- "string-argv": "~0.3.1"
- }
- },
- "@trufflesuite/bigint-buffer": {
- "version": "1.1.10",
- "resolved": "https://registry.npmjs.org/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.10.tgz",
- "integrity": "sha512-pYIQC5EcMmID74t26GCC67946mgTJFiLXOT/BYozgrd4UEY2JHEGLhWi9cMiQCt5BSqFEvKkCHNnoj82SRjiEw==",
- "bundled": true,
- "dev": true,
- "peer": true,
- "requires": {
- "node-gyp-build": "4.4.0"
- },
- "dependencies": {
- "node-gyp-build": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz",
- "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==",
- "bundled": true,
- "dev": true,
- "peer": true
- }
- }
- },
- "@trufflesuite/uws-js-unofficial": {
- "version": "20.30.0-unofficial.0",
- "resolved": "https://registry.npmjs.org/@trufflesuite/uws-js-unofficial/-/uws-js-unofficial-20.30.0-unofficial.0.tgz",
- "integrity": "sha512-r5X0aOQcuT6pLwTRLD+mPnAM/nlKtvIK4Z+My++A8tTOR0qTjNRx8UB8jzRj3D+p9PMAp5LnpCUUGmz7/TppwA==",
- "dev": true,
- "peer": true,
- "requires": {
- "bufferutil": "4.0.7",
- "utf-8-validate": "6.0.3",
- "ws": "8.13.0"
- },
- "dependencies": {
- "bufferutil": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz",
- "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "node-gyp-build": "^4.3.0"
- }
- },
- "utf-8-validate": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-6.0.3.tgz",
- "integrity": "sha512-uIuGf9TWQ/y+0Lp+KGZCMuJWc3N9BHA+l/UmHd/oUHwJJDeysyTRxNQVkbzsIWfGFbRe3OcgML/i0mvVRPOyDA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "node-gyp-build": "^4.3.0"
- }
- },
- "ws": {
- "version": "8.13.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
- "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==",
- "dev": true,
- "peer": true,
- "requires": {}
- }
- }
- },
- "@tsconfig/node10": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
- "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==",
- "extraneous": true
- },
- "@tsconfig/node12": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
- "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": true
- },
- "@types/abstract-leveldown": {
- "version": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz",
- "integrity": "sha512-q5veSX6zjUy/DlDhR4Y4cU0k2Ar+DT2LUraP00T19WLmTO6Se1djepCCaqU6nQrwcJ5Hyo/CWqxTzrrFg8eqbQ==",
- "extraneous": true
- },
- "@types/argparse": {
- "version": "1.0.38",
- "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz",
- "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==",
- "extraneous": true
- },
- "@types/bn.js": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz",
- "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==",
- "dev": true,
- "peer": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/eslint": {
- "version": "8.4.10",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz",
- "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==",
- "extraneous": true,
- "requires": {
- "@types/estree": "*",
- "@types/json-schema": "*"
- }
- },
- "@types/eslint-scope": {
- "version": "3.7.4",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz",
- "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==",
- "extraneous": true,
- "requires": {
- "@types/eslint": "*",
- "@types/estree": "*"
- }
- },
- "@types/estree": {
- "version": "0.0.50",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz",
- "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==",
- "extraneous": true
- },
- "@types/json-schema": {
- "version": "7.0.11",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
- "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
- "extraneous": true
- },
- "@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,
- "peer": true
- },
- "@types/mocha": {
- "version": "https://registry.npmjs.org/@types/mocha/-/mocha-9.0.0.tgz",
- "integrity": "sha512-scN0hAWyLVAvLR9AyW7HoFF5sJZglyBsbPuHO4fv7JRvfmPBMfp1ozWqOf/e4wwPNxezBZXRfWzMb6iFLgEVRA==",
- "extraneous": true
- },
- "@types/node": {
- "version": "17.0.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz",
- "integrity": "sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==",
- "dev": true,
- "peer": true
- },
- "@types/seedrandom": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-3.0.1.tgz",
- "integrity": "sha512-giB9gzDeiCeloIXDgzFBCgjj1k4WxcDrZtGl6h1IqmUPlxF+Nx8Ve+96QCyDZ/HseB/uvDsKbpib9hU5cU53pw==",
- "dev": true,
- "peer": true
- },
- "@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==",
- "extraneous": true
- },
- "@webassemblyjs/ast": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
- "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
- "extraneous": true,
- "requires": {
- "@webassemblyjs/helper-numbers": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
- }
- },
- "@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
- "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
- "extraneous": true
- },
- "@webassemblyjs/helper-api-error": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
- "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==",
- "extraneous": true
- },
- "@webassemblyjs/helper-buffer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
- "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==",
- "extraneous": true
- },
- "@webassemblyjs/helper-numbers": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
- "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
- "extraneous": true,
- "requires": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
- "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==",
- "extraneous": true
- },
- "@webassemblyjs/helper-wasm-section": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
- "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
- "extraneous": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1"
- }
- },
- "@webassemblyjs/ieee754": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
- "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
- "extraneous": true,
- "requires": {
- "@xtuc/ieee754": "^1.2.0"
- }
- },
- "@webassemblyjs/leb128": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
- "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
- "extraneous": true,
- "requires": {
- "@xtuc/long": "4.2.2"
- }
- },
- "@webassemblyjs/utf8": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
- "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==",
- "extraneous": true
- },
- "@webassemblyjs/wasm-edit": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
- "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
- "extraneous": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/helper-wasm-section": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-opt": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "@webassemblyjs/wast-printer": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-gen": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
- "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
- "extraneous": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-opt": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
- "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
- "extraneous": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
- "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
- "extraneous": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "@webassemblyjs/wast-printer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
- "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
- "extraneous": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "@webpack-cli/configtest": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz",
- "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==",
- "extraneous": true
- },
- "@webpack-cli/info": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz",
- "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==",
- "extraneous": true,
- "requires": {
- "envinfo": "^7.7.3"
- }
- },
- "@webpack-cli/serve": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz",
- "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==",
- "extraneous": true
- },
- "@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
- "extraneous": true
- },
- "@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
- "extraneous": true
- },
- "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,
- "peer": 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"
- },
- "dependencies": {
- "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,
- "peer": true
- }
- }
- },
- "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==",
- "bundled": true,
- "dev": true,
- "peer": true,
- "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"
- }
- },
- "acorn": {
- "version": "8.8.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
- "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
- "extraneous": true
- },
- "acorn-import-assertions": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
- "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
- "extraneous": 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==",
- "extraneous": true
- },
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "extraneous": 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"
- }
- },
- "ajv-keywords": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
- "extraneous": true
- },
- "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==",
- "extraneous": true
- },
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "extraneous": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "extraneous": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "extraneous": 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==",
- "extraneous": true
- },
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "extraneous": true,
- "requires": {
- "sprintf-js": "~1.0.2"
- }
- },
- "asn1.js": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
- "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
- "extraneous": 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==",
- "extraneous": true
- }
- }
- },
- "assert": {
- "version": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz",
- "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==",
- "extraneous": true,
- "requires": {
- "es6-object-assign": "^1.1.0",
- "is-nan": "^1.2.1",
- "object-is": "^1.0.1",
- "util": "^0.12.0"
- }
- },
- "async": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
- "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
- "dev": true,
- "peer": 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,
- "peer": true,
- "requires": {
- "async": "^2.4.0"
- }
- },
- "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==",
- "extraneous": true
- },
- "balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "extraneous": true
- },
- "base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "bundled": true,
- "dev": true,
- "peer": true
- },
- "big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
- "extraneous": true
- },
- "binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "extraneous": 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==",
- "extraneous": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "extraneous": 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==",
- "extraneous": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "brorand": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
- "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
- "bundled": true,
- "dev": true,
- "peer": true
- },
- "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==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": 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"
- }
- },
- "browserslist": {
- "version": "4.21.4",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
- "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
- "extraneous": true,
- "requires": {
- "caniuse-lite": "^1.0.30001400",
- "electron-to-chromium": "^1.4.251",
- "node-releases": "^2.0.6",
- "update-browserslist-db": "^1.0.9"
- }
- },
- "buffer": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
- "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
- "bundled": true,
- "dev": true,
- "peer": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "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==",
- "extraneous": true
- },
- "buffer-xor": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
- "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==",
- "extraneous": true
- },
- "bufferutil": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz",
- "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "node-gyp-build": "^4.3.0"
- }
- },
- "builtin-status-codes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
- "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==",
- "extraneous": 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==",
- "extraneous": true,
- "requires": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- }
- },
- "camelcase": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
- "extraneous": true
- },
- "caniuse-lite": {
- "version": "1.0.30001435",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001435.tgz",
- "integrity": "sha512-kdCkUTjR+v4YAJelyiDTqiu82BDr4W4CP5sgTA0ZBmqn30XfS2ZghPLMowik9TPhS+psWJiUNxsqLyurDbmutA==",
- "extraneous": true
- },
- "catering": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz",
- "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==",
- "bundled": true,
- "dev": true,
- "peer": true
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "extraneous": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "dependencies": {
- "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==",
- "extraneous": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "chokidar": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
- "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
- "extraneous": 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"
- }
- },
- "chrome-trace-event": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
- "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
- "extraneous": true
- },
- "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==",
- "extraneous": true,
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.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==",
- "extraneous": true,
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "clone-deep": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
- "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
- "extraneous": true,
- "requires": {
- "is-plain-object": "^2.0.4",
- "kind-of": "^6.0.2",
- "shallow-clone": "^3.0.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==",
- "extraneous": 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==",
- "extraneous": true
- },
- "colorette": {
- "version": "2.0.19",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz",
- "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==",
- "extraneous": true
- },
- "colors": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz",
- "integrity": "sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==",
- "extraneous": true
- },
- "commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "extraneous": true
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": true
- },
- "cross-env": {
- "version": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
- "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
- "extraneous": true,
- "requires": {
- "cross-spawn": "^7.0.1"
- }
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "extraneous": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "crypto-browserify": {
- "version": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
- "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
- "extraneous": 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"
- }
- },
- "debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
- "extraneous": true,
- "requires": {
- "ms": "2.1.2"
- },
- "dependencies": {
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "extraneous": true
- }
- }
- },
- "decamelize": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
- "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
- "extraneous": true
- },
- "define-properties": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
- "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
- "extraneous": true,
- "requires": {
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- }
- },
- "des.js": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
- "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
- "extraneous": true,
- "requires": {
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "diff": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
- "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": true
- }
- }
- },
- "electron-to-chromium": {
- "version": "1.4.284",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
- "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==",
- "extraneous": true
- },
- "elliptic": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
- "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
- "bundled": true,
- "dev": true,
- "peer": 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==",
- "bundled": true,
- "dev": true,
- "peer": true
- }
- }
- },
- "emittery": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz",
- "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==",
- "dev": true,
- "peer": 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==",
- "extraneous": true
- },
- "emojis-list": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
- "extraneous": true
- },
- "enhanced-resolve": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
- "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
- "extraneous": true,
- "requires": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- }
- },
- "envinfo": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
- "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==",
- "extraneous": true
- },
- "es-module-lexer": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
- "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
- "extraneous": true
- },
- "es6-object-assign": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz",
- "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==",
- "extraneous": true
- },
- "escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "extraneous": true
- },
- "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==",
- "extraneous": true
- },
- "eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "extraneous": true,
- "requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- }
- },
- "esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "extraneous": true,
- "requires": {
- "estraverse": "^5.2.0"
- },
- "dependencies": {
- "estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "extraneous": true
- }
- }
- },
- "estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "extraneous": true
- },
- "events": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
- "extraneous": 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==",
- "extraneous": true,
- "requires": {
- "md5.js": "^1.3.4",
- "safe-buffer": "^5.1.1"
- }
- },
- "execa": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
- "extraneous": true,
- "requires": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- }
- },
- "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==",
- "extraneous": true
- },
- "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==",
- "extraneous": true
- },
- "fastest-levenshtein": {
- "version": "1.0.16",
- "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
- "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
- "extraneous": true
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "extraneous": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "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==",
- "extraneous": true,
- "requires": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "flat": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
- "extraneous": 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==",
- "extraneous": true,
- "requires": {
- "is-callable": "^1.1.3"
- }
- },
- "fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "extraneous": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "extraneous": true
- },
- "fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "extraneous": true
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "extraneous": 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==",
- "extraneous": true
- },
- "get-intrinsic": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
- "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
- "extraneous": true,
- "requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.3"
- }
- },
- "get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "extraneous": true
- },
- "glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "extraneous": 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==",
- "extraneous": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "glob-to-regexp": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
- "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
- "extraneous": true
- },
- "gopd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "extraneous": true,
- "requires": {
- "get-intrinsic": "^1.1.3"
- }
- },
- "graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
- "extraneous": true
- },
- "growl": {
- "version": "1.10.5",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
- "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
- "extraneous": true
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "extraneous": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": true
- },
- "has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "extraneous": 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==",
- "extraneous": 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==",
- "bundled": true,
- "dev": true,
- "peer": 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==",
- "extraneous": true
- },
- "hmac-drbg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
- "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
- "bundled": true,
- "dev": true,
- "peer": true,
- "requires": {
- "hash.js": "^1.0.3",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.1"
- }
- },
- "https-browserify": {
- "version": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
- "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==",
- "extraneous": true
- },
- "human-signals": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
- "extraneous": true
- },
- "ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "bundled": true,
- "dev": true,
- "peer": true
- },
- "import-lazy": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz",
- "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==",
- "extraneous": true
- },
- "import-local": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
- "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
- "extraneous": true,
- "requires": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "extraneous": 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==",
- "bundled": true,
- "dev": true,
- "peer": true
- },
- "interpret": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
- "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
- "extraneous": 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==",
- "extraneous": true,
- "requires": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "extraneous": true,
- "requires": {
- "binary-extensions": "^2.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==",
- "bundled": true,
- "dev": true,
- "peer": true
- },
- "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==",
- "extraneous": true
- },
- "is-core-module": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
- "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
- "extraneous": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-nan": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz",
- "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==",
- "extraneous": true,
- "requires": {
- "call-bind": "^1.0.0",
- "define-properties": "^1.1.3"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "extraneous": true
- },
- "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==",
- "extraneous": true
- },
- "is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "extraneous": true,
- "requires": {
- "isobject": "^3.0.1"
- }
- },
- "is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
- "extraneous": true
- },
- "is-typed-array": {
- "version": "1.1.10",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
- "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
- "extraneous": true,
- "requires": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
- }
- },
- "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==",
- "extraneous": true
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "extraneous": true
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
- "extraneous": true
- },
- "jest-worker": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
- "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
- "extraneous": true,
- "requires": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- }
- },
- "jju": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz",
- "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==",
- "extraneous": true
- },
- "js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "extraneous": true,
- "requires": {
- "argparse": "^2.0.1"
- },
- "dependencies": {
- "argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "extraneous": true
- }
- }
- },
- "json-parse-better-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
- "extraneous": 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==",
- "extraneous": true
- },
- "json5": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
- "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
- "extraneous": true
- },
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "extraneous": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "keccak": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz",
- "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==",
- "bundled": true,
- "dev": true,
- "peer": true,
- "requires": {
- "node-addon-api": "^2.0.0",
- "node-gyp-build": "^4.2.0",
- "readable-stream": "^3.6.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==",
- "extraneous": true
- },
- "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==",
- "bundled": true,
- "dev": true,
- "peer": true,
- "requires": {
- "catering": "^2.1.0"
- }
- },
- "level-js": {
- "version": "https://registry.npmjs.org/level-js/-/level-js-6.1.0.tgz",
- "integrity": "sha512-i7mPtkZm68aewfv0FnIUWvFUFfoyzIvVKnUmuQGrelEkP72vSPTaA1SGneWWoCV5KZJG4wlzbJLp1WxVNGuc6A==",
- "extraneous": true,
- "requires": {
- "abstract-leveldown": "^7.2.0",
- "buffer": "^6.0.3",
- "inherits": "^2.0.3",
- "ltgt": "^2.1.2",
- "run-parallel-limit": "^1.1.0"
- }
- },
- "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==",
- "bundled": true,
- "dev": true,
- "peer": 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,
- "peer": true,
- "requires": {
- "buffer": "^6.0.3",
- "module-error": "^1.0.1"
- }
- },
- "leveldown": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-6.1.0.tgz",
- "integrity": "sha512-8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w==",
- "bundled": true,
- "dev": true,
- "peer": true,
- "requires": {
- "abstract-leveldown": "^7.2.0",
- "napi-macros": "~2.0.0",
- "node-gyp-build": "^4.3.0"
- }
- },
- "loader-runner": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
- "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
- "extraneous": true
- },
- "loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "extraneous": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- }
- },
- "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==",
- "extraneous": true,
- "requires": {
- "p-locate": "^5.0.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true,
- "peer": true
- },
- "lodash.get": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
- "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==",
- "extraneous": true
- },
- "lodash.isequal": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
- "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==",
- "extraneous": 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==",
- "extraneous": true,
- "requires": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- }
- },
- "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==",
- "extraneous": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "ltgt": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz",
- "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==",
- "extraneous": true
- },
- "make-error": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
- "extraneous": true
- },
- "mcl-wasm": {
- "version": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.9.0.tgz",
- "integrity": "sha512-rvU7L/68ZrDk4dpPZteiEqvK9nB/1XbbHmuLK6qIvc4xuuJb/iv1p5X3KEyq6AYatLnc+zbdSlLXTlKgTnCRZQ==",
- "extraneous": 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==",
- "extraneous": true,
- "requires": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "extraneous": true
- },
- "micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": true
- }
- }
- },
- "mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "extraneous": 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==",
- "extraneous": true,
- "requires": {
- "mime-db": "1.52.0"
- }
- },
- "mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "extraneous": true
- },
- "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==",
- "bundled": true,
- "dev": true,
- "peer": true
- },
- "minimalistic-crypto-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
- "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
- "bundled": true,
- "dev": true,
- "peer": true
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "extraneous": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
- "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
- "extraneous": true
- },
- "mocha": {
- "version": "https://registry.npmjs.org/mocha/-/mocha-9.1.3.tgz",
- "integrity": "sha512-Xcpl9FqXOAYqI3j79pEtHBBnQgVXIhpULjGQa7DVb0Po+VzmSIK9kanAiWLHoRR/dbZ2qpdPshuXr8l1VaHCzw==",
- "extraneous": true,
- "requires": {
- "@ungap/promise-all-settled": "1.1.2",
- "ansi-colors": "4.1.1",
- "browser-stdout": "1.3.1",
- "chokidar": "3.5.2",
- "debug": "4.3.2",
- "diff": "5.0.0",
- "escape-string-regexp": "4.0.0",
- "find-up": "5.0.0",
- "glob": "7.1.7",
- "growl": "1.10.5",
- "he": "1.2.0",
- "js-yaml": "4.1.0",
- "log-symbols": "4.1.0",
- "minimatch": "3.0.4",
- "ms": "2.1.3",
- "nanoid": "3.1.25",
- "serialize-javascript": "6.0.0",
- "strip-json-comments": "3.1.1",
- "supports-color": "8.1.1",
- "which": "2.0.2",
- "workerpool": "6.1.5",
- "yargs": "16.2.0",
- "yargs-parser": "20.2.4",
- "yargs-unparser": "2.0.0"
- }
- },
- "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,
- "peer": true
- },
- "ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "extraneous": true
- },
- "nanoid": {
- "version": "3.1.25",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
- "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
- "extraneous": true
- },
- "napi-macros": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz",
- "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==",
- "bundled": true,
- "dev": true,
- "peer": 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==",
- "extraneous": 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==",
- "bundled": true,
- "dev": true,
- "peer": true
- },
- "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==",
- "bundled": true,
- "dev": true,
- "peer": true
- },
- "node-loader": {
- "version": "https://registry.npmjs.org/node-loader/-/node-loader-1.0.2.tgz",
- "integrity": "sha512-myxAxpyMR7knjA4Uzwf3gjxaMtxSWj2vpm9o6AYWWxQ1S3XMBNeG2vzYcp/5eW03cBGfgSxyP+wntP8qhBJNhQ==",
- "extraneous": true,
- "requires": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
- }
- },
- "node-releases": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
- "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
- "extraneous": true
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "extraneous": true
- },
- "npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "extraneous": true,
- "requires": {
- "path-key": "^3.0.0"
- }
- },
- "object-is": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
- "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
- "extraneous": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3"
- }
- },
- "object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "extraneous": true
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "extraneous": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "extraneous": true,
- "requires": {
- "mimic-fn": "^2.1.0"
- }
- },
- "os-browserify": {
- "version": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
- "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": true,
- "requires": {
- "p-limit": "^3.0.2"
- }
- },
- "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==",
- "extraneous": 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==",
- "extraneous": 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"
- }
- },
- "path-browserify": {
- "version": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
- "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
- "extraneous": true
- },
- "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==",
- "extraneous": 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==",
- "extraneous": true
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "extraneous": 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==",
- "extraneous": true
- },
- "pbkdf2": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
- "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
- "extraneous": 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"
- }
- },
- "picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "extraneous": true
- },
- "picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "extraneous": true
- },
- "pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "extraneous": true,
- "requires": {
- "find-up": "^4.0.0"
- },
- "dependencies": {
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "extraneous": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "extraneous": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "extraneous": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "extraneous": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- }
- }
- },
- "process": {
- "version": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
- "extraneous": true
- },
- "public-encrypt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
- "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
- "extraneous": 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==",
- "extraneous": true
- }
- }
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "extraneous": true
- },
- "queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "bundled": true,
- "dev": true,
- "peer": true
- },
- "randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "extraneous": 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==",
- "extraneous": true,
- "requires": {
- "randombytes": "^2.0.5",
- "safe-buffer": "^5.1.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==",
- "bundled": true,
- "dev": true,
- "peer": true,
- "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==",
- "extraneous": 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==",
- "extraneous": true,
- "requires": {
- "resolve": "^1.1.6"
- }
- },
- "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==",
- "extraneous": true
- },
- "resolve": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
- "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
- "extraneous": true,
- "requires": {
- "path-parse": "^1.0.6"
- }
- },
- "resolve-cwd": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
- "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
- "extraneous": true,
- "requires": {
- "resolve-from": "^5.0.0"
- }
- },
- "resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "extraneous": true
- },
- "ripemd160": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
- "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
- "extraneous": true,
- "requires": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1"
- }
- },
- "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==",
- "extraneous": true,
- "requires": {
- "queue-microtask": "^1.2.2"
- }
- },
- "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==",
- "bundled": true,
- "dev": true,
- "peer": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "extraneous": true
- },
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "extraneous": true,
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- },
- "scrypt-js": {
- "version": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz",
- "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==",
- "extraneous": true
- },
- "secp256k1": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz",
- "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==",
- "bundled": true,
- "dev": true,
- "peer": true,
- "requires": {
- "elliptic": "^6.5.4",
- "node-addon-api": "^2.0.0",
- "node-gyp-build": "^4.2.0"
- }
- },
- "semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
- "extraneous": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "serialize-javascript": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
- "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
- "extraneous": true,
- "requires": {
- "randombytes": "^2.1.0"
- }
- },
- "setimmediate": {
- "version": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
- "extraneous": 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==",
- "extraneous": true,
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "shallow-clone": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
- "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
- "extraneous": true,
- "requires": {
- "kind-of": "^6.0.2"
- }
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "extraneous": true,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-loader": {
- "version": "https://registry.npmjs.org/shebang-loader/-/shebang-loader-0.0.1.tgz",
- "integrity": "sha512-nQvhUHvKyzGK5aqPxHfHB5nlAN2EZ2U61S2G0YrxAuCRU5iGhFcxxRiaAdb18UoRS1zVMhRz4gdQ1xFEg3AOyA==",
- "extraneous": true
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "extraneous": true
- },
- "shelljs": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
- "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==",
- "extraneous": true,
- "requires": {
- "glob": "^7.0.0",
- "interpret": "^1.0.0",
- "rechoir": "^0.6.2"
- }
- },
- "shx": {
- "version": "https://registry.npmjs.org/shx/-/shx-0.3.3.tgz",
- "integrity": "sha512-nZJ3HFWVoTSyyB+evEKjJ1STiixGztlqwKLTUNV5KqMWtGey9fTd4KU1gdZ1X9BV6215pswQ/Jew9NsuS/fNDA==",
- "extraneous": true,
- "requires": {
- "minimist": "^1.2.3",
- "shelljs": "^0.8.4"
- }
- },
- "signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "extraneous": true
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "extraneous": true
- },
- "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==",
- "extraneous": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
- "extraneous": true
- },
- "stream-browserify": {
- "version": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz",
- "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==",
- "extraneous": true,
- "requires": {
- "inherits": "~2.0.4",
- "readable-stream": "^3.5.0"
- }
- },
- "stream-http": {
- "version": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz",
- "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==",
- "extraneous": true,
- "requires": {
- "builtin-status-codes": "^3.0.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.6.0",
- "xtend": "^4.0.2"
- }
- },
- "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==",
- "bundled": true,
- "dev": true,
- "peer": true,
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- },
- "string-argv": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz",
- "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
- "extraneous": true
- },
- "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==",
- "extraneous": true
- },
- "supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "extraneous": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
- "extraneous": true
- },
- "terser": {
- "version": "5.16.1",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz",
- "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==",
- "extraneous": true,
- "requires": {
- "@jridgewell/source-map": "^0.3.2",
- "acorn": "^8.5.0",
- "commander": "^2.20.0",
- "source-map-support": "~0.5.20"
- }
- },
- "terser-webpack-plugin": {
- "version": "5.2.5",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz",
- "integrity": "sha512-3luOVHku5l0QBeYS8r4CdHYWEGMmIj3H1U64jgkdZzECcSOJAyJ9TjuqcQZvw1Y+4AOBN9SeYJPJmFn2cM4/2g==",
- "extraneous": true,
- "requires": {
- "jest-worker": "^27.0.6",
- "schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.0",
- "source-map": "^0.6.1",
- "terser": "^5.7.2"
- }
- },
- "timsort": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
- "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==",
- "extraneous": 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==",
- "extraneous": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "ts-loader": {
- "version": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.3.1.tgz",
- "integrity": "sha512-OkyShkcZTsTwyS3Kt7a4rsT/t2qvEVQuKCTg4LJmpj9fhFR7ukGdZwV6Qq3tRUkqcXtfGpPR7+hFKHCG/0d3Lw==",
- "extraneous": true,
- "requires": {
- "chalk": "^4.1.0",
- "enhanced-resolve": "^5.0.0",
- "micromatch": "^4.0.0",
- "semver": "^7.3.4"
- }
- },
- "ts-node": {
- "version": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz",
- "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==",
- "extraneous": 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==",
- "extraneous": true
- }
- }
- },
- "typescript": {
- "version": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz",
- "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==",
- "extraneous": true
- },
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "extraneous": true
- },
- "update-browserslist-db": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
- "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
- "extraneous": true,
- "requires": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
- }
- },
- "uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "extraneous": true,
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "utf-8-validate": {
- "version": "5.0.7",
- "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz",
- "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "node-gyp-build": "^4.3.0"
- }
- },
- "util": {
- "version": "0.12.4",
- "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz",
- "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==",
- "extraneous": 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": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "bundled": true,
- "dev": true,
- "peer": 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==",
- "extraneous": true
- },
- "validator": {
- "version": "13.7.0",
- "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz",
- "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==",
- "extraneous": true
- },
- "watchpack": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
- "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
- "extraneous": true,
- "requires": {
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.1.2"
- }
- },
- "webpack": {
- "version": "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz",
- "integrity": "sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw==",
- "extraneous": true,
- "requires": {
- "@types/eslint-scope": "^3.7.0",
- "@types/estree": "^0.0.50",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.8.3",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.4",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
- "webpack-sources": "^3.2.2"
- }
- },
- "webpack-cli": {
- "version": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz",
- "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==",
- "extraneous": true,
- "requires": {
- "@discoveryjs/json-ext": "^0.5.0",
- "@webpack-cli/configtest": "^1.1.0",
- "@webpack-cli/info": "^1.4.0",
- "@webpack-cli/serve": "^1.6.0",
- "colorette": "^2.0.14",
- "commander": "^7.0.0",
- "execa": "^5.0.0",
- "fastest-levenshtein": "^1.0.12",
- "import-local": "^3.0.2",
- "interpret": "^2.2.0",
- "rechoir": "^0.7.0",
- "webpack-merge": "^5.7.3"
- },
- "dependencies": {
- "commander": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
- "extraneous": true
- },
- "interpret": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
- "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
- "extraneous": true
- },
- "rechoir": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
- "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
- "extraneous": true,
- "requires": {
- "resolve": "^1.9.0"
- }
- }
- }
- },
- "webpack-merge": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
- "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==",
- "extraneous": true,
- "requires": {
- "clone-deep": "^4.0.1",
- "wildcard": "^2.0.0"
- }
- },
- "webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
- "extraneous": true
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "extraneous": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "which-typed-array": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
- "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
- "extraneous": true,
- "requires": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0",
- "is-typed-array": "^1.1.10"
- }
- },
- "wildcard": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
- "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
- "extraneous": true
- },
- "workerpool": {
- "version": "6.1.5",
- "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz",
- "integrity": "sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==",
- "extraneous": 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==",
- "extraneous": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "extraneous": true
- },
- "xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "extraneous": true
- },
- "y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "extraneous": true
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "extraneous": true
- },
- "yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "extraneous": 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"
- }
- },
- "yargs-parser": {
- "version": "20.2.4",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
- "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": 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==",
- "extraneous": true
- },
- "z-schema": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.4.tgz",
- "integrity": "sha512-gm/lx3hDzJNcLwseIeQVm1UcwhWIKpSB4NqH89pTBtFns4k/HDHudsICtvG05Bvw/Mv3jMyk700y5dadueLHdA==",
- "extraneous": true,
- "requires": {
- "commander": "^2.20.3",
- "lodash.get": "^4.4.2",
- "lodash.isequal": "^4.5.0",
- "validator": "^13.7.0"
- }
- }
- }
- },
- "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,
- "peer": true
- },
- "get-intrinsic": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
- "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
- "dev": true,
- "peer": true,
- "requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3"
- }
- },
- "get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "dev": true,
- "peer": true
- },
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
- "dev": true,
- "peer": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.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,
- "peer": 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,
- "peer": true,
- "requires": {
- "min-document": "^2.19.0",
- "process": "^0.11.10"
- }
- },
- "gopd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "dev": true,
- "peer": true,
- "requires": {
- "get-intrinsic": "^1.1.3"
- }
- },
- "got": {
- "version": "12.1.0",
- "resolved": "https://registry.npmjs.org/got/-/got-12.1.0.tgz",
- "integrity": "sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig==",
- "dev": true,
- "peer": true,
- "requires": {
- "@sindresorhus/is": "^4.6.0",
- "@szmarczak/http-timer": "^5.0.1",
- "@types/cacheable-request": "^6.0.2",
- "@types/responselike": "^1.0.0",
- "cacheable-lookup": "^6.0.4",
- "cacheable-request": "^7.0.2",
- "decompress-response": "^6.0.0",
- "form-data-encoder": "1.7.1",
- "get-stream": "^6.0.1",
- "http2-wrapper": "^2.1.10",
- "lowercase-keys": "^3.0.0",
- "p-cancelable": "^3.0.0",
- "responselike": "^2.0.0"
- }
- },
- "graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "dev": true
- },
- "graphql": {
- "version": "15.8.0",
- "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz",
- "integrity": "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "graphql-tag": {
- "version": "2.12.6",
- "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz",
- "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "tslib": "^2.1.0"
- }
- },
- "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,
- "peer": 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,
- "peer": true,
- "requires": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- }
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "peer": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "has-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
- "dev": true,
- "peer": true
- },
- "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,
- "peer": 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,
- "peer": 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,
- "peer": true,
- "requires": {
- "inherits": "^2.0.4",
- "readable-stream": "^3.6.0",
- "safe-buffer": "^5.2.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "peer": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "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==",
- "dev": true,
- "peer": true,
- "requires": {
- "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,
- "peer": 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,
- "peer": true
- },
- "header-case": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz",
- "integrity": "sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "no-case": "^2.2.0",
- "upper-case": "^1.1.3"
- }
- },
- "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,
- "peer": true,
- "requires": {
- "hash.js": "^1.0.3",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.1"
- }
- },
- "hosted-git-info": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
- "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
- "dev": true,
- "peer": true
- },
- "http-cache-semantics": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
- "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
- "http2-wrapper": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz",
- "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "quick-lru": "^5.1.1",
- "resolve-alpn": "^1.2.0"
- }
- },
- "husky": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz",
- "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==",
- "dev": true
- },
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "peer": 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,
- "peer": true,
- "requires": {
- "punycode": "2.1.0"
- }
- },
- "ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "dev": true,
- "peer": true
- },
- "ignore": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
- "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
- "dev": true
- },
- "immediate": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz",
- "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==",
- "dev": true,
- "peer": true
- },
- "import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
- "requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- }
- },
- "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==",
- "dev": true
- },
- "invert-kv": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==",
- "dev": true,
- "peer": true
- },
- "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,
- "peer": 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,
- "peer": true,
- "requires": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
- "dev": true
- },
- "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,
- "peer": true,
- "requires": {
- "binary-extensions": "^2.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==",
- "dev": true,
- "peer": true
- },
- "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,
- "peer": true
- },
- "is-core-module": {
- "version": "2.13.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz",
- "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "peer": 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
- },
- "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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": true
- },
- "is-lower-case": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz",
- "integrity": "sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==",
- "dev": true,
- "peer": true,
- "requires": {
- "lower-case": "^1.1.0"
- }
- },
- "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,
- "peer": true
- },
- "is-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
- "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "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,
- "peer": true
- },
- "is-typed-array": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
- "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
- "dev": true,
- "peer": true,
- "requires": {
- "which-typed-array": "^1.1.11"
- }
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
- "dev": true,
- "peer": 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,
- "peer": true
- },
- "is-upper-case": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz",
- "integrity": "sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw==",
- "dev": true,
- "peer": true,
- "requires": {
- "upper-case": "^1.1.0"
- }
- },
- "is-utf8": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==",
- "dev": true,
- "peer": true
- },
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "isomorphic-ws": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz",
- "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {}
- },
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
- "dev": true,
- "peer": 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-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "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,
- "peer": true
- },
- "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,
- "peer": true
- },
- "json-parse-even-better-errors": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
- "dev": true
- },
- "json-pointer": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.2.tgz",
- "integrity": "sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==",
- "dev": true,
- "peer": true,
- "requires": {
- "foreach": "^2.0.4"
- }
- },
- "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,
- "peer": 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-schema-typed": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-7.0.3.tgz",
- "integrity": "sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "json-stable-stringify": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz",
- "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==",
- "dev": true,
- "peer": true,
- "requires": {
- "jsonify": "^0.0.1"
- }
- },
- "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,
- "peer": true
- },
- "json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "dev": true
- },
- "jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "graceful-fs": "^4.1.6",
- "universalify": "^2.0.0"
- }
- },
- "jsonify": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz",
- "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==",
- "dev": true,
- "peer": true
- },
- "jsprim": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
- "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
- "dev": true,
- "peer": true,
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.4.0",
- "verror": "1.10.0"
- }
- },
- "keccak": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz",
- "integrity": "sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "node-addon-api": "^2.0.0",
- "node-gyp-build": "^4.2.0",
- "readable-stream": "^3.6.0"
- },
- "dependencies": {
- "node-gyp-build": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz",
- "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==",
- "dev": true,
- "peer": true
- },
- "readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "peer": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "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==",
- "dev": true,
- "peer": true,
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- }
- }
- },
- "keyv": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz",
- "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==",
- "dev": true,
- "peer": true,
- "requires": {
- "json-buffer": "3.0.1"
- }
- },
- "klaw": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
- "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==",
- "dev": true,
- "peer": true,
- "requires": {
- "graceful-fs": "^4.1.9"
- }
- },
- "lcid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==",
- "dev": true,
- "peer": true,
- "requires": {
- "invert-kv": "^1.0.0"
- }
- },
- "level": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/level/-/level-6.0.1.tgz",
- "integrity": "sha512-psRSqJZCsC/irNhfHzrVZbmPYXDcEYhA5TVNwr+V92jF44rbf86hqGp8fiT702FyiArScYIlPSBTDUASCVNSpw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "level-js": "^5.0.0",
- "level-packager": "^5.1.0",
- "leveldown": "^5.4.0"
- }
- },
- "level-codec": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz",
- "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "buffer": "^5.6.0"
- },
- "dependencies": {
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- }
- }
- },
- "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==",
- "dev": true,
- "peer": true,
- "requires": {
- "catering": "^2.1.0"
- }
- },
- "level-errors": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz",
- "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "errno": "~0.1.1"
- }
- },
- "level-iterator-stream": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz",
- "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0",
- "xtend": "^4.0.2"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "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==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- }
- }
- },
- "level-js": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/level-js/-/level-js-5.0.2.tgz",
- "integrity": "sha512-SnBIDo2pdO5VXh02ZmtAyPP6/+6YTJg2ibLtl9C34pWvmtMEmRTWpra+qO/hifkUtBTOtfx6S9vLDjBsBK4gRg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "abstract-leveldown": "~6.2.3",
- "buffer": "^5.5.0",
- "inherits": "^2.0.3",
- "ltgt": "^2.1.2"
- },
- "dependencies": {
- "abstract-leveldown": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz",
- "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "buffer": "^5.5.0",
- "immediate": "^3.2.3",
- "level-concat-iterator": "~2.0.0",
- "level-supports": "~1.0.0",
- "xtend": "~4.0.0"
- }
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "level-concat-iterator": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz",
- "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "level-supports": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz",
- "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "xtend": "^4.0.2"
- }
- }
- }
- },
- "level-packager": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz",
- "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "encoding-down": "^6.3.0",
- "levelup": "^4.3.2"
- }
- },
- "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==",
- "dev": true,
- "peer": true
- },
- "level-write-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/level-write-stream/-/level-write-stream-1.0.0.tgz",
- "integrity": "sha512-bBNKOEOMl8msO+uIM9YX/gUO6ckokZ/4pCwTm/lwvs46x6Xs8Zy0sn3Vh37eDqse4mhy4fOMIb/JsSM2nyQFtw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "end-stream": "~0.1.0"
- }
- },
- "leveldown": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-5.6.0.tgz",
- "integrity": "sha512-iB8O/7Db9lPaITU1aA2txU/cBEXAt4vWwKQRrrWuS6XDgbP4QZGj9BL2aNbwb002atoQ/lIotJkfyzz+ygQnUQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "abstract-leveldown": "~6.2.1",
- "napi-macros": "~2.0.0",
- "node-gyp-build": "~4.1.0"
- },
- "dependencies": {
- "abstract-leveldown": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz",
- "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "buffer": "^5.5.0",
- "immediate": "^3.2.3",
- "level-concat-iterator": "~2.0.0",
- "level-supports": "~1.0.0",
- "xtend": "~4.0.0"
- }
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "level-concat-iterator": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz",
- "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==",
- "dev": true,
- "peer": true
- },
- "level-supports": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz",
- "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==",
- "dev": true,
- "peer": true,
- "requires": {
- "xtend": "^4.0.2"
- }
- }
- }
- },
- "levelup": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz",
- "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "deferred-leveldown": "~5.3.0",
- "level-errors": "~2.0.0",
- "level-iterator-stream": "~4.0.0",
- "level-supports": "~1.0.0",
- "xtend": "~4.0.0"
- },
- "dependencies": {
- "level-supports": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz",
- "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "xtend": "^4.0.2"
- }
- }
- }
- },
- "lines-and-columns": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
- "dev": true
- },
- "load-json-file": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==",
- "dev": true,
- "peer": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "strip-bom": "^2.0.0"
- },
- "dependencies": {
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "error-ex": "^1.2.0"
- }
- },
- "strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==",
- "dev": true,
- "peer": true,
- "requires": {
- "is-utf8": "^0.2.0"
- }
- }
- }
- },
- "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,
- "optional": true,
- "peer": 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-es": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
- "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
- "dev": true,
- "peer": true
- },
- "lodash.assign": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
- "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==",
- "dev": true,
- "peer": 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.sortby": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
- "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==",
- "dev": true,
- "optional": true,
- "peer": 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,
- "peer": true,
- "requires": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- }
- },
- "loglevel": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.1.tgz",
- "integrity": "sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "long": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
- "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "dev": true,
- "peer": true,
- "requires": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- }
- },
- "lower-case": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
- "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==",
- "dev": true,
- "peer": true
- },
- "lower-case-first": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz",
- "integrity": "sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==",
- "dev": true,
- "peer": true,
- "requires": {
- "lower-case": "^1.1.2"
- }
- },
- "lowercase-keys": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz",
- "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==",
- "dev": true,
- "peer": true
- },
- "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"
- }
- },
- "ltgt": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz",
- "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "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
- },
- "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,
- "peer": 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,
- "peer": true
- },
- "memdown": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz",
- "integrity": "sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "abstract-leveldown": "~2.7.1",
- "functional-red-black-tree": "^1.0.1",
- "immediate": "^3.2.3",
- "inherits": "~2.0.1",
- "ltgt": "~2.2.0",
- "safe-buffer": "~5.1.1"
- },
- "dependencies": {
- "abstract-leveldown": {
- "version": "2.7.2",
- "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz",
- "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "xtend": "~4.0.0"
- }
- },
- "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,
- "optional": true,
- "peer": true
- }
- }
- },
- "memorystream": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
- "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": true
- },
- "micro-ftch": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz",
- "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==",
- "dev": true,
- "peer": true
- },
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": true,
- "requires": {
- "mime-db": "1.52.0"
- }
- },
- "mimic-fn": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz",
- "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": true
- },
- "minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
- "dev": true,
- "requires": {
- "brace-expansion": "^2.0.1"
- }
- },
- "minimist": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "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,
- "peer": true,
- "requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- },
- "dependencies": {
- "yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true,
- "peer": true
- }
- }
- },
- "minizlib": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
- "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
- "dev": true,
- "peer": true,
- "requires": {
- "minipass": "^2.9.0"
- }
- },
- "mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true
- },
- "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,
- "peer": true,
- "requires": {
- "mkdirp": "*"
- }
- },
- "mocha": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz",
- "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==",
- "dev": true,
- "peer": true,
- "requires": {
- "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": {
- "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,
- "peer": true,
- "requires": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
- "dev": true,
- "peer": 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"
- },
- "dependencies": {
- "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,
- "peer": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "peer": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- }
- }
- },
- "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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": true
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "multibase": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz",
- "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==",
- "dev": true,
- "peer": true,
- "requires": {
- "base-x": "^3.0.8",
- "buffer": "^5.5.0"
- },
- "dependencies": {
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": true,
- "requires": {
- "buffer": "^5.5.0",
- "multibase": "^0.7.0",
- "varint": "^5.0.0"
- },
- "dependencies": {
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "peer": 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,
- "peer": true,
- "requires": {
- "base-x": "^3.0.8",
- "buffer": "^5.5.0"
- }
- }
- }
- },
- "nano-base32": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/nano-base32/-/nano-base32-1.0.1.tgz",
- "integrity": "sha512-sxEtoTqAPdjWVGv71Q17koMFGsOMSiHsIFEvzOM7cNp8BXB4AnEwmDabm5dorusJf/v1z7QxaZYxUorU9RKaAw==",
- "dev": true,
- "peer": true
- },
- "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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": true
- },
- "no-case": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
- "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "lower-case": "^1.1.1"
- }
- },
- "node-abort-controller": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz",
- "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==",
- "dev": true,
- "optional": true,
- "peer": 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,
- "peer": true
- },
- "node-fetch": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
- "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
- "dev": true,
- "peer": true,
- "requires": {
- "whatwg-url": "^5.0.0"
- }
- },
- "node-gyp-build": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.1.tgz",
- "integrity": "sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==",
- "dev": true,
- "peer": true
- },
- "node-interval-tree": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/node-interval-tree/-/node-interval-tree-1.3.3.tgz",
- "integrity": "sha512-K9vk96HdTK5fEipJwxSvIIqwTqr4e3HRJeJrNxBSeVMNSC/JWARRaX7etOLOuTmrRMeOI/K5TCJu3aWIwZiNTw==",
- "dev": true,
- "peer": true,
- "requires": {
- "shallowequal": "^1.0.2"
- }
- },
- "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,
- "peer": true
- },
- "normalize-package-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
- "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
- "dev": true,
- "peer": true,
- "requires": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
- "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
- "dev": true,
- "peer": true
- }
- }
- },
- "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,
- "peer": 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,
- "peer": true
- },
- "number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": true
- },
- "object-inspect": {
- "version": "1.12.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
- "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
- "dev": true,
- "peer": 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,
- "peer": true,
- "requires": {
- "http-https": "^1.0.0"
- }
- },
- "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,
- "peer": 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"
- }
- },
- "onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "mimic-fn": "^2.1.0"
- },
- "dependencies": {
- "mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true,
- "optional": true,
- "peer": true
- }
- }
- },
- "original-require": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/original-require/-/original-require-1.0.1.tgz",
- "integrity": "sha512-5vdKMbE58WaE61uVD+PKyh8xdM398UnjPBLotW2sjG5MzHARwta/+NtMBCBA0t2WQblGYBvq5vsiZpWokwno+A==",
- "dev": true,
- "peer": true
- },
- "os-locale": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
- "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==",
- "dev": true,
- "peer": true,
- "requires": {
- "lcid": "^1.0.0"
- }
- },
- "p-cancelable": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz",
- "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==",
- "dev": true,
- "peer": 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,
- "optional": true,
- "peer": 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,
- "optional": true,
- "peer": true,
- "requires": {
- "p-limit": "^1.1.0"
- }
- },
- "p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "param-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
- "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==",
- "dev": true,
- "peer": true,
- "requires": {
- "no-case": "^2.2.0"
- }
- },
- "parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "requires": {
- "callsites": "^3.0.0"
- }
- },
- "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,
- "peer": true
- },
- "parse-json": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
- "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-even-better-errors": "^2.3.0",
- "lines-and-columns": "^1.1.6"
- }
- },
- "parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
- "dev": true,
- "peer": true
- },
- "pascal-case": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz",
- "integrity": "sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "camel-case": "^3.0.0",
- "upper-case-first": "^1.1.0"
- }
- },
- "path-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/path-case/-/path-case-2.1.1.tgz",
- "integrity": "sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q==",
- "dev": true,
- "peer": true,
- "requires": {
- "no-case": "^2.2.0"
- }
- },
- "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,
- "optional": true,
- "peer": 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,
- "peer": 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,
- "peer": 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
- },
- "pbkdf2": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
- "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
- "dev": true,
- "peer": 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,
- "peer": true
- },
- "picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "peer": true
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "dev": true,
- "peer": true
- },
- "pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==",
- "dev": true,
- "peer": true
- },
- "pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==",
- "dev": true,
- "peer": true,
- "requires": {
- "pinkie": "^2.0.0"
- }
- },
- "pkg-up": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
- "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "find-up": "^3.0.0"
- },
- "dependencies": {
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "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,
- "optional": true,
- "peer": 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,
- "optional": true,
- "peer": 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,
- "optional": true,
- "peer": true
- }
- }
- },
- "pluralize": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
- "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==",
- "dev": true
- },
- "pouchdb": {
- "version": "7.3.0",
- "resolved": "https://registry.npmjs.org/pouchdb/-/pouchdb-7.3.0.tgz",
- "integrity": "sha512-OwsIQGXsfx3TrU1pLruj6PGSwFH+h5k4hGNxFkZ76Um7/ZI8F5TzUHFrpldVVIhfXYi2vP31q0q7ot1FSLFYOw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "abort-controller": "3.0.0",
- "argsarray": "0.0.1",
- "buffer-from": "1.1.2",
- "clone-buffer": "1.0.0",
- "double-ended-queue": "2.1.0-0",
- "fetch-cookie": "0.11.0",
- "immediate": "3.3.0",
- "inherits": "2.0.4",
- "level": "6.0.1",
- "level-codec": "9.0.2",
- "level-write-stream": "1.0.0",
- "leveldown": "5.6.0",
- "levelup": "4.4.0",
- "ltgt": "2.2.1",
- "node-fetch": "2.6.7",
- "readable-stream": "1.1.14",
- "spark-md5": "3.0.2",
- "through2": "3.0.2",
- "uuid": "8.3.2",
- "vuvuzela": "1.0.3"
- },
- "dependencies": {
- "node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "whatwg-url": "^5.0.0"
- }
- },
- "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,
- "optional": true,
- "peer": true
- }
- }
- },
- "pouchdb-abstract-mapreduce": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/pouchdb-abstract-mapreduce/-/pouchdb-abstract-mapreduce-7.3.1.tgz",
- "integrity": "sha512-0zKXVFBvrfc1KnN0ggrB762JDmZnUpePHywo9Bq3Jy+L1FnoG7fXM5luFfvv5/T0gEw+ZTIwoocZECMnESBI9w==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "pouchdb-binary-utils": "7.3.1",
- "pouchdb-collate": "7.3.1",
- "pouchdb-collections": "7.3.1",
- "pouchdb-errors": "7.3.1",
- "pouchdb-fetch": "7.3.1",
- "pouchdb-mapreduce-utils": "7.3.1",
- "pouchdb-md5": "7.3.1",
- "pouchdb-utils": "7.3.1"
- }
- },
- "pouchdb-adapter-leveldb-core": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/pouchdb-adapter-leveldb-core/-/pouchdb-adapter-leveldb-core-7.3.1.tgz",
- "integrity": "sha512-mxShHlqLMPz2gChrgtA9okV1ogFmQrRAoM/O4EN0CrQWPLXqYtpL1f7sI2asIvFe7SmpnvbLx7kkZyFmLTfwjA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "argsarray": "0.0.1",
- "buffer-from": "1.1.2",
- "double-ended-queue": "2.1.0-0",
- "levelup": "4.4.0",
- "pouchdb-adapter-utils": "7.3.1",
- "pouchdb-binary-utils": "7.3.1",
- "pouchdb-collections": "7.3.1",
- "pouchdb-errors": "7.3.1",
- "pouchdb-json": "7.3.1",
- "pouchdb-md5": "7.3.1",
- "pouchdb-merge": "7.3.1",
- "pouchdb-utils": "7.3.1",
- "sublevel-pouchdb": "7.3.1",
- "through2": "3.0.2"
- }
- },
- "pouchdb-adapter-memory": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/pouchdb-adapter-memory/-/pouchdb-adapter-memory-7.3.1.tgz",
- "integrity": "sha512-iHdWGJAHONqQv0we3Oi1MYen69ZS8McLW9wUyaAYcWTJnAIIAr2ZM0/TeTDVSHfMUwYqEYk7X8jRtJZEMwLnwg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "memdown": "1.4.1",
- "pouchdb-adapter-leveldb-core": "7.3.1",
- "pouchdb-utils": "7.3.1"
- }
- },
- "pouchdb-adapter-utils": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/pouchdb-adapter-utils/-/pouchdb-adapter-utils-7.3.1.tgz",
- "integrity": "sha512-uKLG6dClwTs/sLIJ4WkLAi9wlnDBpOnfyhpeAgOjlOGN/XLz5nKHrA4UJRnURDyc+uv79S9r/Unc4hVpmbSPUw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "pouchdb-binary-utils": "7.3.1",
- "pouchdb-collections": "7.3.1",
- "pouchdb-errors": "7.3.1",
- "pouchdb-md5": "7.3.1",
- "pouchdb-merge": "7.3.1",
- "pouchdb-utils": "7.3.1"
- }
- },
- "pouchdb-binary-utils": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/pouchdb-binary-utils/-/pouchdb-binary-utils-7.3.1.tgz",
- "integrity": "sha512-crZJNfAEOnUoRk977Qtmk4cxEv6sNKllQ6vDDKgQrQLFjMUXma35EHzNyIJr1s76J77Q4sqKQAmxz9Y40yHGtw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "buffer-from": "1.1.2"
- }
- },
- "pouchdb-collate": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/pouchdb-collate/-/pouchdb-collate-7.3.1.tgz",
- "integrity": "sha512-o4gyGqDMLMSNzf6EDTr3eHaH/JRMoqRhdc+eV+oA8u00nTBtr9wD+jypVe2LbgKLJ4NWqx2qVkXiTiQdUFtsLQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "pouchdb-collections": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/pouchdb-collections/-/pouchdb-collections-7.3.1.tgz",
- "integrity": "sha512-yUyDqR+OJmtwgExOSJegpBJXDLAEC84TWnbAYycyh+DZoA51Yw0+XVQF5Vh8Ii90/Ut2xo88fmrmp0t6kqom8w==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "pouchdb-debug": {
- "version": "7.2.1",
- "resolved": "https://registry.npmjs.org/pouchdb-debug/-/pouchdb-debug-7.2.1.tgz",
- "integrity": "sha512-eP3ht/AKavLF2RjTzBM6S9gaI2/apcW6xvaKRQhEdOfiANqerFuksFqHCal3aikVQuDO+cB/cw+a4RyJn/glBw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "debug": "3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "optional": true,
- "peer": 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,
- "optional": true,
- "peer": true
- }
- }
- },
- "pouchdb-errors": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/pouchdb-errors/-/pouchdb-errors-7.3.1.tgz",
- "integrity": "sha512-Zktz4gnXEUcZcty8FmyvtYUYsHskoST05m6H5/E2gg/0mCfEXq/XeyyLkZHaZmqD0ZPS9yNmASB1VaFWEKEaDw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "inherits": "2.0.4"
- }
- },
- "pouchdb-fetch": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/pouchdb-fetch/-/pouchdb-fetch-7.3.1.tgz",
- "integrity": "sha512-205xAtvdHRPQ4fp1h9+RmT9oQabo9gafuPmWsS9aEl3ER54WbY8Vaj1JHZGbU4KtMTYvW7H5088zLS7Nrusuag==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "abort-controller": "3.0.0",
- "fetch-cookie": "0.11.0",
- "node-fetch": "2.6.7"
- },
- "dependencies": {
- "node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "whatwg-url": "^5.0.0"
- }
- }
- }
- },
- "pouchdb-find": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/pouchdb-find/-/pouchdb-find-7.3.1.tgz",
- "integrity": "sha512-AeqUfAVY1c7IFaY36BRT0vIz9r4VTKq/YOWTmiqndOZUQ/pDGxyO2fNFal6NN3PyYww0JijlD377cPvhnrhJVA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "pouchdb-abstract-mapreduce": "7.3.1",
- "pouchdb-collate": "7.3.1",
- "pouchdb-errors": "7.3.1",
- "pouchdb-fetch": "7.3.1",
- "pouchdb-md5": "7.3.1",
- "pouchdb-selector-core": "7.3.1",
- "pouchdb-utils": "7.3.1"
- }
- },
- "pouchdb-json": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/pouchdb-json/-/pouchdb-json-7.3.1.tgz",
- "integrity": "sha512-AyOKsmc85/GtHjMZyEacqzja8qLVfycS1hh1oskR+Bm5PIITX52Fb8zyi0hEetV6VC0yuGbn0RqiLjJxQePeqQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "vuvuzela": "1.0.3"
- }
- },
- "pouchdb-mapreduce-utils": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/pouchdb-mapreduce-utils/-/pouchdb-mapreduce-utils-7.3.1.tgz",
- "integrity": "sha512-oUMcq82+4pTGQ6dtrhgORHOVHZSr6w/5tFIUGlv7RABIDvJarL4snMawADjlpiEwPdiQ/ESG8Fqt8cxqvqsIgg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "argsarray": "0.0.1",
- "inherits": "2.0.4",
- "pouchdb-collections": "7.3.1",
- "pouchdb-utils": "7.3.1"
- }
- },
- "pouchdb-md5": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/pouchdb-md5/-/pouchdb-md5-7.3.1.tgz",
- "integrity": "sha512-aDV8ui/mprnL3xmt0gT/81DFtTtJiKyn+OxIAbwKPMfz/rDFdPYvF0BmDC9QxMMzGfkV+JJUjU6at0PPs2mRLg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "pouchdb-binary-utils": "7.3.1",
- "spark-md5": "3.0.2"
- }
- },
- "pouchdb-merge": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/pouchdb-merge/-/pouchdb-merge-7.3.1.tgz",
- "integrity": "sha512-FeK3r35mKimokf2PQ2tUI523QWyZ4lYZ0Yd75FfSch/SPY6wIokz5XBZZ6PHdu5aOJsEKzoLUxr8CpSg9DhcAw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "pouchdb-selector-core": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/pouchdb-selector-core/-/pouchdb-selector-core-7.3.1.tgz",
- "integrity": "sha512-HBX+nNGXcaL9z0uNpwSMRq2GNZd3EZXW+fe9rJHS0hvJohjZL7aRJLoaXfEdHPRTNW+CpjM3Rny60eGekQdI/w==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "pouchdb-collate": "7.3.1",
- "pouchdb-utils": "7.3.1"
- }
- },
- "pouchdb-utils": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/pouchdb-utils/-/pouchdb-utils-7.3.1.tgz",
- "integrity": "sha512-R3hHBo1zTdTu/NFs3iqkcaQAPwhIH0gMIdfVKd5lbDYlmP26rCG5pdS+v7NuoSSFLJ4xxnaGV+Gjf4duYsJ8wQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "argsarray": "0.0.1",
- "clone-buffer": "1.0.0",
- "immediate": "3.3.0",
- "inherits": "2.0.4",
- "pouchdb-collections": "7.3.1",
- "pouchdb-errors": "7.3.1",
- "pouchdb-md5": "7.3.1",
- "uuid": "8.3.2"
- },
- "dependencies": {
- "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,
- "optional": true,
- "peer": true
- }
- }
- },
- "prettier": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
- "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
- "dev": true
- },
- "prettier-linter-helpers": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
- "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
- "dev": true,
- "requires": {
- "fast-diff": "^1.1.2"
- }
- },
- "prettier-plugin-solidity": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.1.3.tgz",
- "integrity": "sha512-fQ9yucPi2sBbA2U2Xjh6m4isUTJ7S7QLc/XDDsktqqxYfTwdYKJ0EnnywXHwCGAaYbQNK+HIYPL1OemxuMsgeg==",
- "dev": true,
- "requires": {
- "@solidity-parser/parser": "^0.16.0",
- "semver": "^7.3.8",
- "solidity-comments-extractor": "^0.0.7"
- }
- },
- "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,
- "peer": true
- },
- "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,
- "peer": true,
- "requires": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- }
- },
- "proxy-from-env": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "prr": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
- "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "psl": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
- "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
- "dev": true,
- "peer": 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,
- "peer": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "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
- },
- "pure-rand": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-5.0.5.tgz",
- "integrity": "sha512-BwQpbqxSCBJVpamI6ydzcKqyFmnd5msMWUGvzXLm1aXvusbbgkbOto/EUPM00hjveJEaJtdbhUjKSzWRhQVkaw==",
- "dev": true,
- "peer": true
- },
- "qs": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
- "dev": true,
- "peer": 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,
- "peer": true,
- "requires": {
- "decode-uri-component": "^0.2.0",
- "object-assign": "^4.1.0",
- "strict-uri-encode": "^1.0.0"
- }
- },
- "querystringify": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
- "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "peer": true
- },
- "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,
- "peer": true
- },
- "randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "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,
- "peer": true
- },
- "raw-body": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
- "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
- "dev": true,
- "peer": true,
- "requires": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- }
- },
- "read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "load-json-file": "^1.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^1.0.0"
- },
- "dependencies": {
- "path-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==",
- "dev": true,
- "peer": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- }
- }
- },
- "read-pkg-up": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==",
- "dev": true,
- "peer": true,
- "requires": {
- "find-up": "^1.0.0",
- "read-pkg": "^1.0.0"
- },
- "dependencies": {
- "find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==",
- "dev": true,
- "peer": true,
- "requires": {
- "path-exists": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "pinkie-promise": "^2.0.0"
- }
- }
- }
- },
- "readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "peer": true,
- "requires": {
- "picomatch": "^2.2.1"
- }
- },
- "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
- },
- "redux": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz",
- "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==",
- "dev": true,
- "peer": true,
- "requires": {
- "lodash": "^4.2.1",
- "lodash-es": "^4.2.1",
- "loose-envify": "^1.1.0",
- "symbol-observable": "^1.0.3"
- }
- },
- "redux-saga": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-1.0.0.tgz",
- "integrity": "sha512-GvJWs/SzMvEQgeaw6sRMXnS2FghlvEGsHiEtTLpJqc/FHF3I5EE/B+Hq5lyHZ8LSoT2r/X/46uWvkdCnK9WgHA==",
- "dev": true,
- "peer": true,
- "requires": {
- "@redux-saga/core": "^1.0.0"
- }
- },
- "regenerator-runtime": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
- "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==",
- "dev": true,
- "peer": true
- },
- "request": {
- "version": "2.88.2",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "dev": true,
- "peer": 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": {
- "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,
- "peer": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "punycode": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
- "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
- "dev": true,
- "peer": true
- },
- "qs": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
- "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
- "dev": true,
- "peer": 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,
- "peer": true,
- "requires": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- }
- },
- "uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "dev": true,
- "peer": true
- }
- }
- },
- "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,
- "peer": true
- },
- "require-from-string": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
- "integrity": "sha512-H7AkJWMobeskkttHyhTVtS0fxpFLjxhbfMa6Bk3wimP7sdPRGL3EyCg3sAQenFfAe+xQ+oAc85Nmtvq0ROM83Q==",
- "dev": true,
- "peer": true
- },
- "require-main-filename": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==",
- "dev": true,
- "peer": true
- },
- "requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "reselect": {
- "version": "4.1.8",
- "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz",
- "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==",
- "dev": true,
- "peer": true
- },
- "reselect-tree": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/reselect-tree/-/reselect-tree-1.3.7.tgz",
- "integrity": "sha512-kZN+C1cVJ6fFN2smSb0l4UvYZlRzttgnu183svH4NrU22cBY++ikgr2QT75Uuk4MYpv5gXSVijw4c5U6cx6GKg==",
- "dev": true,
- "peer": true,
- "requires": {
- "debug": "^3.1.0",
- "json-pointer": "^0.6.1",
- "reselect": "^4.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
- "resolve": {
- "version": "1.22.4",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz",
- "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==",
- "dev": true,
- "peer": true,
- "requires": {
- "is-core-module": "^2.13.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- }
- },
- "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,
- "peer": true
- },
- "resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "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,
- "peer": true,
- "requires": {
- "lowercase-keys": "^2.0.0"
- },
- "dependencies": {
- "lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
- "dev": true,
- "peer": true
- }
- }
- },
- "restore-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
- "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2"
- }
- },
- "retry": {
- "version": "0.13.1",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
- "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "peer": true,
- "requires": {
- "glob": "^7.1.3"
- },
- "dependencies": {
- "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,
- "peer": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": true,
- "peer": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "peer": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- }
- }
- },
- "ripemd160": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
- "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
- "dev": true,
- "peer": true,
- "requires": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1"
- }
- },
- "ripemd160-min": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/ripemd160-min/-/ripemd160-min-0.0.6.tgz",
- "integrity": "sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A==",
- "dev": true,
- "peer": true
- },
- "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,
- "peer": true,
- "requires": {
- "bn.js": "^5.2.0"
- }
- },
- "safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true,
- "peer": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true,
- "peer": true
- },
- "scrypt-js": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz",
- "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==",
- "dev": true,
- "peer": true
- },
- "secp256k1": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz",
- "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==",
- "dev": true,
- "peer": true,
- "requires": {
- "elliptic": "^6.5.4",
- "node-addon-api": "^2.0.0",
- "node-gyp-build": "^4.2.0"
- },
- "dependencies": {
- "node-gyp-build": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz",
- "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==",
- "dev": true,
- "peer": true
- }
- }
- },
- "semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "send": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
- "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": true
- }
- }
- },
- "sentence-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz",
- "integrity": "sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "no-case": "^2.2.0",
- "upper-case-first": "^1.1.2"
- }
- },
- "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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": true
- },
- "setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
- "dev": true,
- "peer": 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,
- "peer": true,
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "sha3": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/sha3/-/sha3-2.1.4.tgz",
- "integrity": "sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg==",
- "dev": true,
- "peer": true,
- "requires": {
- "buffer": "6.0.3"
- }
- },
- "shallowequal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
- "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==",
- "dev": true,
- "peer": true
- },
- "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,
- "peer": true,
- "requires": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- }
- },
- "signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "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,
- "peer": 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,
- "peer": true,
- "requires": {
- "decompress-response": "^3.3.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- },
- "dependencies": {
- "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,
- "peer": true,
- "requires": {
- "mimic-response": "^1.0.0"
- }
- }
- }
- },
- "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"
- }
- },
- "snake-case": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz",
- "integrity": "sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==",
- "dev": true,
- "peer": true,
- "requires": {
- "no-case": "^2.2.0"
- }
- },
- "solc": {
- "version": "0.4.26",
- "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz",
- "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==",
- "dev": true,
- "peer": true,
- "requires": {
- "fs-extra": "^0.30.0",
- "memorystream": "^0.3.1",
- "require-from-string": "^1.1.0",
- "semver": "^5.3.0",
- "yargs": "^4.7.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
- "dev": true,
- "peer": true
- },
- "camelcase": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==",
- "dev": true,
- "peer": true
- },
- "cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==",
- "dev": true,
- "peer": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wrap-ansi": "^2.0.0"
- }
- },
- "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,
- "peer": true
- },
- "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,
- "peer": 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"
- }
- },
- "get-caller-file": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
- "dev": true,
- "peer": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==",
- "dev": true,
- "peer": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "jsonfile": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
- "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==",
- "dev": true,
- "peer": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "semver": {
- "version": "5.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
- "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
- "dev": true,
- "peer": true
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==",
- "dev": true,
- "peer": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
- "dev": true,
- "peer": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==",
- "dev": true,
- "peer": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
- }
- },
- "y18n": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz",
- "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==",
- "dev": true,
- "peer": true
- },
- "yargs": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
- "integrity": "sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA==",
- "dev": true,
- "peer": true,
- "requires": {
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "lodash.assign": "^4.0.3",
- "os-locale": "^1.4.0",
- "read-pkg-up": "^1.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^1.0.1",
- "which-module": "^1.0.0",
- "window-size": "^0.2.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^2.4.1"
- }
- },
- "yargs-parser": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz",
- "integrity": "sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA==",
- "dev": true,
- "peer": true,
- "requires": {
- "camelcase": "^3.0.0",
- "lodash.assign": "^4.0.6"
- }
- }
- }
- },
- "solhint": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/solhint/-/solhint-3.6.2.tgz",
- "integrity": "sha512-85EeLbmkcPwD+3JR7aEMKsVC9YrRSxd4qkXuMzrlf7+z2Eqdfm1wHWq1ffTuo5aDhoZxp2I9yF3QkxZOxOL7aQ==",
- "dev": true,
- "requires": {
- "@solidity-parser/parser": "^0.16.0",
- "ajv": "^6.12.6",
- "antlr4": "^4.11.0",
- "ast-parents": "^0.0.1",
- "chalk": "^4.1.2",
- "commander": "^10.0.0",
- "cosmiconfig": "^8.0.0",
- "fast-diff": "^1.2.0",
- "glob": "^8.0.3",
- "ignore": "^5.2.4",
- "js-yaml": "^4.1.0",
- "lodash": "^4.17.21",
- "pluralize": "^8.0.0",
- "prettier": "^2.8.3",
- "semver": "^7.5.2",
- "strip-ansi": "^6.0.1",
- "table": "^6.8.1",
- "text-table": "^0.2.0"
- }
- },
- "solhint-plugin-prettier": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/solhint-plugin-prettier/-/solhint-plugin-prettier-0.0.5.tgz",
- "integrity": "sha512-7jmWcnVshIrO2FFinIvDQmhQpfpS2rRRn3RejiYgnjIE68xO2bvrYvjqVNfrio4xH9ghOqn83tKuTzLjEbmGIA==",
- "dev": true,
- "requires": {
- "prettier-linter-helpers": "^1.0.0"
- }
- },
- "solidity-comments-extractor": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz",
- "integrity": "sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw==",
- "dev": true
- },
- "spark-md5": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz",
- "integrity": "sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "spdx-correct": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
- "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
- "dev": true,
- "peer": true,
- "requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-exceptions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
- "dev": true,
- "peer": true
- },
- "spdx-expression-parse": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
- "dev": true,
- "peer": true,
- "requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-license-ids": {
- "version": "3.0.13",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz",
- "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==",
- "dev": true,
- "peer": true
- },
- "sshpk": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
- "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
- "dev": true,
- "peer": 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"
- }
- },
- "statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
- "dev": true,
- "peer": 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,
- "peer": true
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "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": "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"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "dev": true
- },
- "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,
- "peer": 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,
- "peer": true
- },
- "sublevel-pouchdb": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/sublevel-pouchdb/-/sublevel-pouchdb-7.3.1.tgz",
- "integrity": "sha512-n+4fK72F/ORdqPwoGgMGYeOrW2HaPpW9o9k80bT1B3Cim5BSvkKkr9WbWOWynni/GHkbCEdvLVFJL1ktosAdhQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "inherits": "2.0.4",
- "level-codec": "9.0.2",
- "ltgt": "2.2.1",
- "readable-stream": "1.1.14"
- }
- },
- "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"
- }
- },
- "supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "dev": true,
- "peer": true
- },
- "swap-case": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz",
- "integrity": "sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "lower-case": "^1.1.1",
- "upper-case": "^1.1.1"
- }
- },
- "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,
- "peer": 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": {
- "@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,
- "peer": true,
- "requires": {
- "defer-to-connect": "^2.0.0"
- }
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "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,
- "peer": 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,
- "peer": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "got": {
- "version": "11.8.6",
- "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz",
- "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==",
- "dev": true,
- "peer": 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"
- }
- },
- "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,
- "peer": true,
- "requires": {
- "quick-lru": "^5.1.1",
- "resolve-alpn": "^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,
- "peer": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": true
- }
- }
- },
- "symbol-observable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
- "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
- "dev": true,
- "peer": true
- },
- "table": {
- "version": "6.8.1",
- "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz",
- "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==",
- "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.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
- "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"
- }
- },
- "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
- },
- "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
- }
- }
- },
- "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,
- "peer": 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"
- },
- "dependencies": {
- "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,
- "peer": true,
- "requires": {
- "minimist": "^1.2.6"
- }
- },
- "yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true,
- "peer": true
- }
- }
- },
- "testrpc": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz",
- "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==",
- "dev": true,
- "peer": true
- },
- "text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
- "dev": true
- },
- "through2": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz",
- "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "inherits": "^2.0.4",
- "readable-stream": "2 || 3"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "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==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- }
- }
- },
- "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,
- "peer": true
- },
- "tiny-typed-emitter": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz",
- "integrity": "sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "title-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz",
- "integrity": "sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==",
- "dev": true,
- "peer": true,
- "requires": {
- "no-case": "^2.2.0",
- "upper-case": "^1.0.3"
- }
- },
- "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,
- "peer": 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,
- "peer": true
- },
- "tough-cookie": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
- "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "psl": "^1.1.33",
- "punycode": "^2.1.1",
- "universalify": "^0.2.0",
- "url-parse": "^1.5.3"
- },
- "dependencies": {
- "punycode": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
- "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "universalify": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
- "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
- "dev": true,
- "optional": true,
- "peer": true
- }
- }
- },
- "tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true,
- "peer": true
- },
- "truffle": {
- "version": "5.11.3",
- "resolved": "https://registry.npmjs.org/truffle/-/truffle-5.11.3.tgz",
- "integrity": "sha512-rZHc75+/WIWsb9wT2kbPsU5/j0e5zqv4bPphNu3BLqg26a3gR308JvAG5oy6b+bR1efqVF0MQFDsVrM73dWq3A==",
- "dev": true,
- "peer": true,
- "requires": {
- "@truffle/db": "^2.0.34",
- "@truffle/db-loader": "^0.2.34",
- "@truffle/debugger": "^12.1.3",
- "app-module-path": "^2.2.0",
- "ganache": "7.9.1",
- "mocha": "10.1.0",
- "original-require": "^1.0.1"
- }
- },
- "ts-command-line-args": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz",
- "integrity": "sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw==",
- "dev": true,
- "requires": {
- "chalk": "^4.1.0",
- "command-line-args": "^5.1.1",
- "command-line-usage": "^6.1.0",
- "string-format": "^2.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
- }
- }
- },
- "tsconfig-paths": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
- "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
- "dev": true,
- "requires": {
- "json5": "^2.2.2",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- }
- },
- "tslib": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
- "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==",
- "dev": true,
- "optional": true,
- "peer": 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,
- "peer": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": true,
- "requires": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- }
- },
- "typechain": {
- "version": "8.3.1",
- "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.3.1.tgz",
- "integrity": "sha512-fA7clol2IP/56yq6vkMTR+4URF1nGjV82Wx6Rf09EsqD4tkzMAvEaqYxVFCavJm/1xaRga/oD55K+4FtuXwQOQ==",
- "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": {
- "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"
- }
- },
- "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"
- }
- },
- "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"
- }
- },
- "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-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,
- "peer": true,
- "requires": {
- "is-typedarray": "^1.0.0"
- }
- },
- "typescript": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
- "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
- "dev": true
- },
- "typescript-compare": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/typescript-compare/-/typescript-compare-0.0.2.tgz",
- "integrity": "sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA==",
- "dev": true,
- "peer": true,
- "requires": {
- "typescript-logic": "^0.0.0"
- }
- },
- "typescript-logic": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/typescript-logic/-/typescript-logic-0.0.0.tgz",
- "integrity": "sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q==",
- "dev": true,
- "peer": true
- },
- "typescript-tuple": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/typescript-tuple/-/typescript-tuple-2.2.1.tgz",
- "integrity": "sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q==",
- "dev": true,
- "peer": true,
- "requires": {
- "typescript-compare": "^0.0.2"
- }
- },
- "typical": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
- "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
- "dev": 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,
- "peer": true
- },
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
- "dev": true,
- "peer": true
- },
- "upper-case": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
- "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==",
- "dev": true,
- "peer": true
- },
- "upper-case-first": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz",
- "integrity": "sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "upper-case": "^1.1.1"
- }
- },
- "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": {
- "version": "1.5.10",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
- "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "querystringify": "^2.1.1",
- "requires-port": "^1.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,
- "peer": true
- },
- "utf-8-validate": {
- "version": "5.0.10",
- "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz",
- "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "node-gyp-build": "^4.3.0"
- },
- "dependencies": {
- "node-gyp-build": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz",
- "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==",
- "dev": true,
- "peer": true
- }
- }
- },
- "utf8": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz",
- "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==",
- "dev": true,
- "peer": true
- },
- "util": {
- "version": "0.12.5",
- "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
- "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
- "dev": true,
- "peer": true,
- "requires": {
- "inherits": "^2.0.3",
- "is-arguments": "^1.0.4",
- "is-generator-function": "^1.0.7",
- "is-typed-array": "^1.1.3",
- "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==",
- "dev": true,
- "peer": true
- },
- "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,
- "peer": true
- },
- "uuid": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
- "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
- "dev": true,
- "peer": 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
- },
- "validate-npm-package-license": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
- "dev": true,
- "peer": true,
- "requires": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "value-or-promise": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.11.tgz",
- "integrity": "sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "varint": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz",
- "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- },
- "dependencies": {
- "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,
- "peer": true
- }
- }
- },
- "vuvuzela": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/vuvuzela/-/vuvuzela-1.0.3.tgz",
- "integrity": "sha512-Tm7jR1xTzBbPW+6y1tknKiEhz04Wf/1iZkcTJjSFcpNko43+dFW6+OOeQe9taJIug3NdfUAjFKgUSyQrIKaDvQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "web3": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.2.tgz",
- "integrity": "sha512-DAtZ3a3ruPziE80uZ3Ob0YDZxt6Vk2un/F5BcBrxO70owJ9Z1Y2+loZmbh1MoAmoLGjA/SUSHeUtid3fYmBaog==",
- "dev": true,
- "peer": true,
- "requires": {
- "web3-bzz": "1.10.2",
- "web3-core": "1.10.2",
- "web3-eth": "1.10.2",
- "web3-eth-personal": "1.10.2",
- "web3-net": "1.10.2",
- "web3-shh": "1.10.2",
- "web3-utils": "1.10.2"
- }
- },
- "web3-bzz": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.2.tgz",
- "integrity": "sha512-vLOfDCj6198Qc7esDrCKeFA/M3ZLbowsaHQ0hIL4NmIHoq7lU8aSRTa5AI+JBh8cKN1gVryJsuW2ZCc5bM4I4Q==",
- "dev": true,
- "peer": true,
- "requires": {
- "@types/node": "^12.12.6",
- "got": "12.1.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,
- "peer": true
- }
- }
- },
- "web3-core": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.2.tgz",
- "integrity": "sha512-qTn2UmtE8tvwMRsC5pXVdHxrQ4uZ6jiLgF5DRUVtdi7dPUmX18Dp9uxKfIfhGcA011EAn8P6+X7r3pvi2YRxBw==",
- "dev": true,
- "peer": true,
- "requires": {
- "@types/bn.js": "^5.1.1",
- "@types/node": "^12.12.6",
- "bignumber.js": "^9.0.0",
- "web3-core-helpers": "1.10.2",
- "web3-core-method": "1.10.2",
- "web3-core-requestmanager": "1.10.2",
- "web3-utils": "1.10.2"
- },
- "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,
- "peer": true
- }
- }
- },
- "web3-core-helpers": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.2.tgz",
- "integrity": "sha512-1JfaNtox6/ZYJHNoI+QVc2ObgwEPeGF+YdxHZQ7aF5605BmlwM1Bk3A8xv6mg64jIRvEq1xX6k9oG6x7p1WgXQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "web3-eth-iban": "1.10.2",
- "web3-utils": "1.10.2"
- }
- },
- "web3-core-method": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.2.tgz",
- "integrity": "sha512-gG6ES+LOuo01MJHML4gnEt702M8lcPGMYZoX8UjZzmEebGrPYOY9XccpCrsFgCeKgQzM12SVnlwwpMod1+lcLg==",
- "dev": true,
- "peer": true,
- "requires": {
- "@ethersproject/transactions": "^5.6.2",
- "web3-core-helpers": "1.10.2",
- "web3-core-promievent": "1.10.2",
- "web3-core-subscriptions": "1.10.2",
- "web3-utils": "1.10.2"
- }
- },
- "web3-core-promievent": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.2.tgz",
- "integrity": "sha512-Qkkb1dCDOU8dZeORkcwJBQRAX+mdsjx8LqFBB+P4W9QgwMqyJ6LXda+y1XgyeEVeKEmY1RCeTq9Y94q1v62Sfw==",
- "dev": true,
- "peer": true,
- "requires": {
- "eventemitter3": "4.0.4"
- }
- },
- "web3-core-requestmanager": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.2.tgz",
- "integrity": "sha512-nlLeNJUu6fR+ZbJr2k9Du/nN3VWwB4AJPY4r6nxUODAmykgJq57T21cLP/BEk6mbiFQYGE9TrrPhh4qWxQEtAw==",
- "dev": true,
- "peer": true,
- "requires": {
- "util": "^0.12.5",
- "web3-core-helpers": "1.10.2",
- "web3-providers-http": "1.10.2",
- "web3-providers-ipc": "1.10.2",
- "web3-providers-ws": "1.10.2"
- }
- },
- "web3-core-subscriptions": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.2.tgz",
- "integrity": "sha512-MiWcKjz4tco793EPPPLc/YOJmYUV3zAfxeQH/UVTfBejMfnNvmfwKa2SBKfPIvKQHz/xI5bV2TF15uvJEucU7w==",
- "dev": true,
- "peer": true,
- "requires": {
- "eventemitter3": "4.0.4",
- "web3-core-helpers": "1.10.2"
- }
- },
- "web3-eth": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.2.tgz",
- "integrity": "sha512-s38rhrntyhGShmXC4R/aQtfkpcmev9c7iZwgb9CDIBFo7K8nrEJvqIOyajeZTxnDIiGzTJmrHxiKSadii5qTRg==",
- "dev": true,
- "peer": true,
- "requires": {
- "web3-core": "1.10.2",
- "web3-core-helpers": "1.10.2",
- "web3-core-method": "1.10.2",
- "web3-core-subscriptions": "1.10.2",
- "web3-eth-abi": "1.10.2",
- "web3-eth-accounts": "1.10.2",
- "web3-eth-contract": "1.10.2",
- "web3-eth-ens": "1.10.2",
- "web3-eth-iban": "1.10.2",
- "web3-eth-personal": "1.10.2",
- "web3-net": "1.10.2",
- "web3-utils": "1.10.2"
- },
- "dependencies": {
- "web3-eth-abi": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.2.tgz",
- "integrity": "sha512-pY4fQUio7W7ZRSLf+vsYkaxJqaT/jHcALZjIxy+uBQaYAJ3t6zpQqMZkJB3Dw7HUODRJ1yI0NPEFGTnkYf/17A==",
- "dev": true,
- "peer": true,
- "requires": {
- "@ethersproject/abi": "^5.6.3",
- "web3-utils": "1.10.2"
- }
- }
- }
- },
- "web3-eth-abi": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.0.tgz",
- "integrity": "sha512-cwS+qRBWpJ43aI9L3JS88QYPfFcSJJ3XapxOQ4j40v6mk7ATpA8CVK1vGTzpihNlOfMVRBkR95oAj7oL6aiDOg==",
- "dev": true,
- "peer": true,
- "requires": {
- "@ethersproject/abi": "^5.6.3",
- "web3-utils": "1.10.0"
- },
- "dependencies": {
- "web3-utils": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz",
- "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==",
- "dev": true,
- "peer": 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.10.2",
- "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.2.tgz",
- "integrity": "sha512-6/HhCBYAXN/f553/SyxS9gY62NbLgpD1zJpENcvRTDpJN3Znvli1cmpl5Q3ZIUJkvHnG//48EWfWh0cbb3fbKQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "@ethereumjs/common": "2.5.0",
- "@ethereumjs/tx": "3.3.2",
- "@ethereumjs/util": "^8.1.0",
- "eth-lib": "0.2.8",
- "scrypt-js": "^3.0.1",
- "uuid": "^9.0.0",
- "web3-core": "1.10.2",
- "web3-core-helpers": "1.10.2",
- "web3-core-method": "1.10.2",
- "web3-utils": "1.10.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,
- "peer": true
- },
- "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,
- "peer": true,
- "requires": {
- "bn.js": "^4.11.6",
- "elliptic": "^6.4.0",
- "xhr-request-promise": "^0.1.2"
- }
- }
- }
- },
- "web3-eth-contract": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.2.tgz",
- "integrity": "sha512-CZLKPQRmupP/+OZ5A/CBwWWkBiz5B/foOpARz0upMh1yjb0dEud4YzRW2gJaeNu0eGxDLsWVaXhUimJVGYprQw==",
- "dev": true,
- "peer": true,
- "requires": {
- "@types/bn.js": "^5.1.1",
- "web3-core": "1.10.2",
- "web3-core-helpers": "1.10.2",
- "web3-core-method": "1.10.2",
- "web3-core-promievent": "1.10.2",
- "web3-core-subscriptions": "1.10.2",
- "web3-eth-abi": "1.10.2",
- "web3-utils": "1.10.2"
- },
- "dependencies": {
- "web3-eth-abi": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.2.tgz",
- "integrity": "sha512-pY4fQUio7W7ZRSLf+vsYkaxJqaT/jHcALZjIxy+uBQaYAJ3t6zpQqMZkJB3Dw7HUODRJ1yI0NPEFGTnkYf/17A==",
- "dev": true,
- "peer": true,
- "requires": {
- "@ethersproject/abi": "^5.6.3",
- "web3-utils": "1.10.2"
- }
- }
- }
- },
- "web3-eth-ens": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.2.tgz",
- "integrity": "sha512-kTQ42UdNHy4BQJHgWe97bHNMkc3zCMBKKY7t636XOMxdI/lkRdIjdE5nQzt97VjQvSVasgIWYKRAtd8aRaiZiQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "content-hash": "^2.5.2",
- "eth-ens-namehash": "2.0.8",
- "web3-core": "1.10.2",
- "web3-core-helpers": "1.10.2",
- "web3-core-promievent": "1.10.2",
- "web3-eth-abi": "1.10.2",
- "web3-eth-contract": "1.10.2",
- "web3-utils": "1.10.2"
- },
- "dependencies": {
- "web3-eth-abi": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.2.tgz",
- "integrity": "sha512-pY4fQUio7W7ZRSLf+vsYkaxJqaT/jHcALZjIxy+uBQaYAJ3t6zpQqMZkJB3Dw7HUODRJ1yI0NPEFGTnkYf/17A==",
- "dev": true,
- "peer": true,
- "requires": {
- "@ethersproject/abi": "^5.6.3",
- "web3-utils": "1.10.2"
- }
- }
- }
- },
- "web3-eth-iban": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.2.tgz",
- "integrity": "sha512-y8+Ii2XXdyHQMFNL2NWpBnXe+TVJ4ryvPlzNhObRRnIo4O4nLIXS010olLDMayozDzoUlmzCmBZJYc9Eev1g7A==",
- "dev": true,
- "peer": true,
- "requires": {
- "bn.js": "^5.2.1",
- "web3-utils": "1.10.2"
- }
- },
- "web3-eth-personal": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.2.tgz",
- "integrity": "sha512-+vEbJsPUJc5J683y0c2aN645vXC+gPVlFVCQu4IjPvXzJrAtUfz26+IZ6AUOth4fDJPT0f1uSLS5W2yrUdw9BQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "@types/node": "^12.12.6",
- "web3-core": "1.10.2",
- "web3-core-helpers": "1.10.2",
- "web3-core-method": "1.10.2",
- "web3-net": "1.10.2",
- "web3-utils": "1.10.2"
- },
- "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,
- "peer": true
- }
- }
- },
- "web3-net": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.2.tgz",
- "integrity": "sha512-w9i1t2z7dItagfskhaCKwpp6W3ylUR88gs68u820y5f8yfK5EbPmHc6c2lD8X9ZrTnmDoeOpIRCN/RFPtZCp+g==",
- "dev": true,
- "peer": true,
- "requires": {
- "web3-core": "1.10.2",
- "web3-core-method": "1.10.2",
- "web3-utils": "1.10.2"
- }
- },
- "web3-providers-http": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.2.tgz",
- "integrity": "sha512-G8abKtpkyKGpRVKvfjIF3I4O/epHP7mxXWN8mNMQLkQj1cjMFiZBZ13f+qI77lNJN7QOf6+LtNdKrhsTGU72TA==",
- "dev": true,
- "peer": true,
- "requires": {
- "abortcontroller-polyfill": "^1.7.5",
- "cross-fetch": "^4.0.0",
- "es6-promise": "^4.2.8",
- "web3-core-helpers": "1.10.2"
- }
- },
- "web3-providers-ipc": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.2.tgz",
- "integrity": "sha512-lWbn6c+SgvhLymU8u4Ea/WOVC0Gqs7OJUvauejWz+iLycxeF0xFNyXnHVAi42ZJDPVI3vnfZotafoxcNNL7Sug==",
- "dev": true,
- "peer": true,
- "requires": {
- "oboe": "2.1.5",
- "web3-core-helpers": "1.10.2"
- }
- },
- "web3-providers-ws": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.2.tgz",
- "integrity": "sha512-3nYSiP6grI5GvpkSoehctSywfCTodU21VY8bUtXyFHK/IVfDooNtMpd5lVIMvXVAlaxwwrCfjebokaJtKH2Iag==",
- "dev": true,
- "peer": true,
- "requires": {
- "eventemitter3": "4.0.4",
- "web3-core-helpers": "1.10.2",
- "websocket": "^1.0.32"
- }
- },
- "web3-shh": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.2.tgz",
- "integrity": "sha512-UP0Kc3pHv9uULFu0+LOVfPwKBSJ6B+sJ5KflF7NyBk6TvNRxlpF3hUhuaVDCjjB/dDUR6T0EQeg25FA2uzJbag==",
- "dev": true,
- "peer": true,
- "requires": {
- "web3-core": "1.10.2",
- "web3-core-method": "1.10.2",
- "web3-core-subscriptions": "1.10.2",
- "web3-net": "1.10.2"
- }
- },
- "web3-utils": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.2.tgz",
- "integrity": "sha512-TdApdzdse5YR+5GCX/b/vQnhhbj1KSAtfrDtRW7YS0kcWp1gkJsN62gw6GzCaNTeXookB7UrLtmDUuMv65qgow==",
- "dev": true,
- "peer": true,
- "requires": {
- "@ethereumjs/util": "^8.1.0",
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereum-cryptography": "^2.1.2",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- }
- },
- "webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true,
- "peer": true
- },
- "websocket": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz",
- "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": true
- }
- }
- },
- "whatwg-mimetype": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz",
- "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dev": true,
- "peer": true,
- "requires": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "which-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
- "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==",
- "dev": true,
- "peer": true
- },
- "which-typed-array": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz",
- "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==",
- "dev": true,
- "peer": true,
- "requires": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
- }
- },
- "window-size": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
- "integrity": "sha512-UD7d8HFA2+PZsbKyaOCEy8gMh1oDtHgJh1LfgjQ4zVXmYjAT/kvz3PueITKuqDiIXQe7yzpPnxX3lNc+AhQMyw==",
- "dev": true,
- "peer": 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,
- "peer": 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,
- "peer": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "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
- },
- "write-stream": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/write-stream/-/write-stream-0.4.3.tgz",
- "integrity": "sha512-IJrvkhbAnj89W/GAVdVgbnPiVw5Ntg/B4tc/MUCIEwj/g6JIww1DWJyB/yBMT3yw2/TkT6IUZ0+IYef3flEw8A==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "readable-stream": "~0.0.2"
- },
- "dependencies": {
- "readable-stream": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-0.0.4.tgz",
- "integrity": "sha512-azrivNydKRYt7zwLV5wWUK7YzKTWs3q87xSmY6DlHapPrCvaT6ZrukvM5erV+yCSSPmZT8zkSdttOHQpWWm9zw==",
- "dev": true,
- "optional": true,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": true,
- "requires": {
- "xhr-request": "^1.1.0"
- }
- },
- "xmlhttprequest": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz",
- "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "xss": {
- "version": "1.0.14",
- "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.14.tgz",
- "integrity": "sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "commander": "^2.20.3",
- "cssfilter": "0.0.10"
- },
- "dependencies": {
- "commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true,
- "optional": true,
- "peer": 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,
- "peer": 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,
- "peer": 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,
- "peer": true
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "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,
- "peer": 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"
- }
- },
- "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,
- "peer": 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,
- "peer": 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,
- "peer": true
- }
}
}
diff --git a/package.json b/package.json
index c5806cf..e3b1596 100644
--- a/package.json
+++ b/package.json
@@ -5,10 +5,11 @@
"author": "Distributed Lab",
"description": "",
"scripts": {
- "install": "npx husky install",
- "postinstall": "forge install",
+ "preinstall": "npx husky install",
+ "forge-install": "make forge-install",
"compile": "forge build",
"coverage": "forge coverage",
+ "coverage-lcov": "forge coverage --report lcov",
"gas": "forge test --gas-report",
"clean": "forge clean",
"test": "forge test -vv",
diff --git a/scripts/deploy.s.sol b/scripts/deploy.s.sol
index f97d5b4..a31a63b 100644
--- a/scripts/deploy.s.sol
+++ b/scripts/deploy.s.sol
@@ -4,10 +4,11 @@ pragma solidity ^0.8.20;
import {Script} from "@forge-std/Script.sol";
import {console} from "@forge-std/console.sol";
-import {ERC20Mock} from "../contracts/mock/tokens/ERC20Mock.sol";
+import {ERC20Mock} from "@contracts/mock/tokens/ERC20Mock.sol";
contract Deploy is Script {
- address private OWNER = vm.addr(vm.envUint("PRIVATE_KEY"));
+ uint256 private PRIVATE_KEY = vm.envUint("PRIVATE_KEY");
+ address private DEPLOYER = vm.addr(PRIVATE_KEY);
function deploy() public {
ERC20Mock mock = new ERC20Mock("Mock", "Mock", 18);
@@ -16,10 +17,15 @@ contract Deploy is Script {
}
function run() public {
- vm.startBroadcast();
+ vm.startBroadcast(PRIVATE_KEY);
deploy();
vm.stopBroadcast();
}
}
+
+// Use PRIVATE_KEY from envil logs
+
+// source .env && anvil
+// source .env && forge script scripts/deploy.s.sol --fork-url http://localhost:8545 --broadcast
diff --git a/tests/mock/tokens/ERC20Mock.t.sol b/tests/mock/tokens/ERC20Mock.t.sol
index 07b4745..852c374 100644
--- a/tests/mock/tokens/ERC20Mock.t.sol
+++ b/tests/mock/tokens/ERC20Mock.t.sol
@@ -3,7 +3,7 @@ pragma solidity ^0.8.20;
import {Test} from "@forge-std/Test.sol";
-import {ERC20Mock} from "../../../contracts/mock/tokens/ERC20Mock.sol";
+import {ERC20Mock} from "@contracts/mock/tokens/ERC20Mock.sol";
contract ERC20MockTest is Test {
address constant SOME_ADDR = 0x0000000000000000000000000000000000000001;