From 4f1bed40c1b2f55c6b924a0fc0b47473e3339be5 Mon Sep 17 00:00:00 2001 From: Alex Roan Date: Wed, 15 Nov 2023 21:11:21 +0000 Subject: [PATCH] v0.0.6 (#32) Signed-off-by: dependabot[bot] Co-authored-by: Patrick Collins <54278053+PatrickAlphaC@users.noreply.github.com> Co-authored-by: VItto Rivabella <72762629+Eversmile12@users.noreply.github.com> Co-authored-by: Daniel Zarifpour Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/images/aderyn_logo.png | Bin 0 -> 180172 bytes Cargo.lock | 2 +- Cargo.toml | 2 +- README.md | 134 +- report.md | 127 +- src/ast/modifiers.rs | 1 + src/context/loader.rs | 7 + src/context/mod.rs | 2 +- src/detect/detector.rs | 6 +- src/detect/high/mod.rs | 2 +- src/detect/low/deprecated_oz_functions.rs | 6 +- .../low/different_storage_conditionals.rs | 155 + src/detect/low/mod.rs | 1 + src/detect/medium/unsafe_oz_erc721_mint.rs | 3 +- src/lib.rs | 4 +- src/report/printer.rs | 59 +- src/report/reporter.rs | 30 +- .../out/AccessControl.sol/AccessControl.json | 57 +- .../out/Address.sol/Address.json | 1821 +++--- .../out/AdminContract.sol/AdminContract.json | 240 +- .../out/Base.sol/CommonBase.json | 5 +- .../out/Base.sol/ScriptBase.json | 5 +- .../out/Base.sol/TestBase.json | 5 +- .../out/Context.sol/Context.json | 123 +- .../out/Counter.s.sol/CounterScript.json | 117 +- .../out/Counter.sol/Counter.json | 260 +- .../out/Counter.t.sol/CounterTest.json | 446 +- .../DeprecatedOZFunctions.json | 966 ++-- .../out/ERC165.sol/ERC165.json | 149 +- .../out/ERC20.sol/ERC20.json | 1981 +++---- .../out/ERC721.sol/ERC721.json | 4862 ++++++++--------- .../ExtendedInheritance.json | 412 +- .../IAccessControl.sol/IAccessControl.json | 5 +- .../IContractInheritance.json | 50 +- .../out/IERC165.sol/IERC165.json | 73 +- .../out/IERC20.sol/IERC20.json | 5 +- .../out/IERC20Permit.sol/IERC20Permit.json | 5 +- .../out/IERC721.sol/IERC721.json | 660 +-- .../IERC721Metadata.sol/IERC721Metadata.json | 162 +- .../IERC721Receiver.sol/IERC721Receiver.json | 104 +- .../out/IMulticall3.sol/IMulticall3.json | 5 +- .../IUniswapV2Router01.json | 1778 +++--- .../IUniswapV2Router02.json | 522 +- .../InheritanceBase.sol/InheritanceBase.json | 128 +- .../KeccakContract.sol/KeccakContract.json | 548 +- .../out/Math.sol/Math.json | 4569 ++++++++-------- .../out/Ownable.sol/Ownable.json | 17 +- .../ReentrancyGuard.sol/ReentrancyGuard.json | 5 +- .../out/SafeERC20.sol/SafeERC20.json | 23 +- .../SafeTransferLib.sol/SafeTransferLib.json | 987 ++-- .../out/Script.sol/Script.json | 5 +- .../out/SignedMath.sol/SignedMath.json | 547 +- .../StateVariables.sol/StateVariables.json | 908 +-- .../out/StdAssertions.sol/StdAssertions.json | 5 +- .../out/StdChains.sol/StdChains.json | 5 +- .../out/StdCheats.sol/StdCheats.json | 5 +- .../out/StdCheats.sol/StdCheatsSafe.json | 5 +- .../out/StdError.sol/stdError.json | 11 +- .../out/StdInvariant.sol/StdInvariant.json | 5 +- .../out/StdJson.sol/stdJson.json | 9 +- .../out/StdMath.sol/stdMath.json | 9 +- .../out/StdStorage.sol/stdStorage.json | 9 +- .../out/StdStorage.sol/stdStorageSafe.json | 9 +- .../out/StdStyle.sol/StdStyle.json | 9 +- .../out/StdUtils.sol/StdUtils.json | 5 +- .../StorageConditionals.json | 2423 ++++++++ .../out/Strings.sol/Strings.json | 1239 ++--- .../out/T11sTranferer.sol/T11sTranferer.json | 186 +- .../UniswapV2Swapper.json | 1504 ++--- .../UniswapV3Swapper.json | 2142 ++++---- .../UnsafeERC721Mint.json | 254 +- tests/contract-playground/out/Vm.sol/Vm.json | 5 +- .../out/Vm.sol/VmSafe.json | 5 +- .../out/console.sol/console.json | 9 +- .../out/console2.sol/console2.json | 9 +- .../out/safeconsole.sol/safeconsole.json | 9 +- .../out/test.sol/DSTest.json | 11 +- .../out/test.sol/Test.json | 5 +- .../src/StorageConditionals.sol | 77 + tests/hardhat-js-playground/yarn.lock | 6 +- 80 files changed, 16953 insertions(+), 14113 deletions(-) create mode 100644 .github/images/aderyn_logo.png create mode 100644 src/detect/low/different_storage_conditionals.rs create mode 100644 tests/contract-playground/out/StorageConditionals.sol/StorageConditionals.json create mode 100644 tests/contract-playground/src/StorageConditionals.sol diff --git a/.github/images/aderyn_logo.png b/.github/images/aderyn_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..600a19c65d2246616f2cdc7ba4606066aada7837 GIT binary patch literal 180172 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�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 EAM~7EbN~PV literal 0 HcmV?d00001 diff --git a/Cargo.lock b/Cargo.lock index aeae4066b..da280ab45 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,7 +4,7 @@ version = 3 [[package]] name = "aderyn" -version = "0.0.5" +version = "0.0.6" dependencies = [ "clap 4.4.6", "eyre", diff --git a/Cargo.toml b/Cargo.toml index d4ffee59b..7fba66a53 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aderyn" -version = "0.0.5" +version = "0.0.6" edition = "2021" authors = ["Alex Roan "] description = "Rust based Solidity AST analyzer" diff --git a/README.md b/README.md index 0325750c9..7b87e66b6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,37 @@ -# 🦜 Aderyn: Solidity AST Analyzer + + +

+

A powerful Solidity static analyzer that takes a bird's eye view over your smart contracts. +

+

Powered by Cyfrin.

+ + + +

+Twitter +Website +Discord +

+ +--- + +

+ +[![Stargazers][stars-shield]][stars-url] [![Forks][forks-shield]][forks-url] +[![Contributors][contributors-shield]][contributors-url] +[![Issues][issues-shield]][issues-url] +[![MIT License][license-shield]][license-url] + +
+ + + + ## What is Aderyn? @@ -17,9 +50,18 @@ Use Aderyn when developing or auditing Solidity smart contracts to quickly ident # Usage -## Prerequisites +To get started using Aderyn make sure to have Rust installed on your device. For more information, refer to the [official Rust documentation](https://www.rust-lang.org/tools/install). -[Install Rust](https://www.rust-lang.org/tools/install) +## Mac, Linux, Unix + +You can install Rust and Cargo by running the following command on your terminal: + ```sh + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh + ``` + +## Windows + +You can install Rust and Cargo by downloading and running [`rustup-init.exe`](https://static.rust-lang.org/rustup/dist/i686-pc-windows-gnu/rustup-init.exe). ## Installation @@ -30,20 +72,32 @@ cargo install aderyn ## Quick Start -The project you're running Aderyn on should be either a Foundry or compiled Hardhat project. +The project you're running Aderyn on should be either a **Foundry** or compiled **Hardhat** project. ```sh aderyn /path/to/your/foundry/project/root/directory/ ``` -That's it! Aderyn identifies whether the project root is a Foundry or Hardhat repo, then uses the compiled AST files to hunt for vulnerabilities. `report.md` will be output in the directory in which you ran the command. +That's it! Aderyn identifies whether the project root is a Foundry or Hardhat repo, then uses the compiled AST files to hunt for vulnerabilities. + +`report.md` will be output **in the directory in which you ran the command.** ### Arguments -1. You must provide the root directory of the repo you want to analyze. Examples: - - `aderyn /path/to/repo/root/` - - `aderyn .` +You must provide the root directory of the repo you want to analyze. +Examples: + +```sh +aderyn /path/to/your/foundry/project/root/directory/ +``` + +To run Aderyn in the folder you're currently on, run: + + +```sh +aderyn . +``` ## Supported Development Frameworks Aderyn automatically detects the development framework so long as it's Foundry or Hardhat. @@ -56,37 +110,57 @@ If Foundry is detected in the project root, Aderyn will first run `forge build` If Hardhat is detected, Aderyn does not auto-compile. Make sure to run `hardhat compile` BEFORE running Aderyn. -# Development -If you'd like to build locally (perhaps to contribute), [install Rust](https://www.rust-lang.org/tools/install), clone this repo, and use [`cargo`](https://doc.rust-lang.org/cargo/getting-started/first-steps.html) commands to build, test and run locally # Roadmap -## Medium-term goals - Auditor Aid: +**Medium-term goals - Auditor Aid:** * [x] Support Multiple Abstract Syntax Trees representing multiple Solidity files * [x] Support Foundry/Hardhat/Truffle/Solc output formats for ingesting AST * [x] Foundry * [x] Hardhat -* Complexity score (with Percentage YUL code & nsloc) -* More complex static analysis detectors -* auto-fixes -* installer that doesn't require Rust (aderynup) -* ... - -## Long-term goals - Product: -Create tools that utilize the context library to: -* Provide automated gas optimizations -* Custom subscribable detectors -* Control/data flow analyses -* Symbolic execution -* Invariant handler generation -* Vyper support - -# Contributing & License +* [ ] Complexity score (with Percentage YUL code & nsloc) +* [ ] More complex static analysis detectors +* [ ] auto-fixes +* [ ] installer that doesn't require Rust (aderynup) + +**Long-term goals - Product** + +* [ ] Provide automated gas optimizations +* [ ] Custom subscribable detectors +* [ ] Control/data flow analyses +* [ ] Symbolic execution +* [ ] Invariant handler generation +* [ ] Vyper support + +## Contributing & License Help us build Aderyn 🦜 Please see our [contribution guidelines](./CONTRIBUTING.md). -This repo is published under the [MIT License](./LICENSE). +Aderyn is an open source software licensed under the [MIT License](./LICENSE). + +To build Aderyn locally, [install Rust](https://www.rust-lang.org/tools/install), clone this repo, and use [`cargo`](https://doc.rust-lang.org/cargo/getting-started/first-steps.html) commands to build, test and run locally + +## Credits + +This project exists thanks to all the people who [contribute](/contributing.md).
+ + + + -# Attribution +## Attribution * AST Visitor code from [solc-ast-rs](https://github.com/hrkrshnn/solc-ast-rs). -* Original detectors based on [4nalyzer](https://github.com/Picodes/4naly3er) detectors. +* Original detectors based on [4naly3er](https://github.com/Picodes/4naly3er) detectors. + + +[contributors-shield]: https://img.shields.io/github/contributors/cyfrin/aderyn +[contributors-url]: https://github.com/cyfrin/aderyn/graphs/contributors +[forks-shield]: https://img.shields.io/github/forks/cyfrin/aderyn +[forks-url]: https://github.com/cyfrin/aderyn/network/members +[stars-shield]: https://img.shields.io/github/stars/cyfrin/aderyn +[stars-url]: https://github.com/cyfrin/aderyn/stargazers +[issues-shield]: https://img.shields.io/github/issues/cyfrin/aderyn +[issues-url]: https://github.com/cyfrin/aderyn/issues +[license-shield]: https://img.shields.io/github/license/cyfrin/aderyn?logoColor=%23fff&color=blue +[license-url]: https://github.com/cyfrin/aderyn/blob/master/LICENSE.txt +[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555 diff --git a/report.md b/report.md index 80b5e7dd4..5f6cb614d 100644 --- a/report.md +++ b/report.md @@ -8,25 +8,26 @@ This report was generated by [Aderyn](https://github.com/Cyfrin/aderyn), a stati - [Files Details](#files-details) - [Issue Summary](#issue-summary) - [High Issues](#high-issues) - - [H-1: Using `delegatecall` in loop](#H-1) + - [H-1: Using `delegatecall` in loop](#H-1-using-delegatecall-in-loop) - [Medium Issues](#medium-issues) - - [M-1: Centralization Risk for trusted owners](#M-1) - - [M-2: Solmate's SafeTransferLib does not check for token contract's existence](#M-2) - - [M-3: Using `block.timestamp` for swap deadline offers no protection](#M-3) - - [M-4: Using `ERC721::_mint()` can be dangerous](#M-4) + - [M-1: Centralization Risk for trusted owners](#M-1-centralization-risk-for-trusted-owners) + - [M-2: Solmate's SafeTransferLib does not check for token contract's existence](#M-2-solmates-safetransferlib-does-not-check-for-token-contracts-existence) + - [M-3: Using `block.timestamp` for swap deadline offers no protection](#M-3-using-blocktimestamp-for-swap-deadline-offers-no-protection) + - [M-4: Using `ERC721::_mint()` can be dangerous](#M-4-using-erc721mint-can-be-dangerous) - [Low Issues](#low-issues) - - [L-1: `abi.encodePacked()` should not be used with dynamic types when passing the result to a hash function such as `keccak256()`](#L-1) - - [L-2: `ecrecover` is susceptible to signature malleability](#L-2) - - [L-3: Deprecated OpenZeppelin functions should not be used](#L-3) - - [L-4: Unsafe ERC20 Operations should not be used](#L-4) - - [L-5: Solidity pragma should be specific, not wide](#L-5) + - [L-1: `abi.encodePacked()` should not be used with dynamic types when passing the result to a hash function such as `keccak256()`](#L-1-abiencodepacked-should-not-be-used-with-dynamic-types-when-passing-the-result-to-a-hash-function-such-as-keccak256) + - [L-2: `ecrecover` is susceptible to signature malleability](#L-2-ecrecover-is-susceptible-to-signature-malleability) + - [L-3: Deprecated OpenZeppelin functions should not be used](#L-3-deprecated-openzeppelin-functions-should-not-be-used) + - [L-4: Unsafe ERC20 Operations should not be used](#L-4-unsafe-erc20-operations-should-not-be-used) + - [L-5: Solidity pragma should be specific, not wide](#L-5-solidity-pragma-should-be-specific-not-wide) + - [L-6: Conditional storage checks are not consistent](#L-6-conditional-storage-checks-are-not-consistent) - [NC Issues](#nc-issues) - - [NC-1: Missing checks for `address(0)` when assigning values to address state variables](#NC-1) - - [NC-2: Functions not used internally could be marked external](#NC-2) - - [NC-3: Constants should be defined and used instead of literals](#NC-3) - - [NC-4: Event is missing `indexed` fields](#NC-4) - - [NC-5: `require()` / `revert()` statements should have descriptive reason strings or custom errors](#NC-5) - - [NC-6: The `nonReentrant` `modifier` should occur before all other modifiers](#NC-6) + - [NC-1: Missing checks for `address(0)` when assigning values to address state variables](#NC-1-missing-checks-for-address0-when-assigning-values-to-address-state-variables) + - [NC-2: Functions not used internally could be marked external](#NC-2-functions-not-used-internally-could-be-marked-external) + - [NC-3: Constants should be defined and used instead of literals](#NC-3-constants-should-be-defined-and-used-instead-of-literals) + - [NC-4: Event is missing `indexed` fields](#NC-4-event-is-missing-indexed-fields) + - [NC-5: `require()` / `revert()` statements should have descriptive reason strings or custom errors](#NC-5-require--revert-statements-should-have-descriptive-reason-strings-or-custom-errors) + - [NC-6: The `nonReentrant` `modifier` should occur before all other modifiers](#NC-6-the-nonreentrant-modifier-should-occur-before-all-other-modifiers) # Summary @@ -35,27 +36,28 @@ This report was generated by [Aderyn](https://github.com/Cyfrin/aderyn), a stati | Key | Value | | --- | --- | -| .sol Files | 12 | -| Total nSLOC | 390 | +| .sol Files | 13 | +| Total nSLOC | 449 | ## Files Details | Filepath | nSLOC | | --- | --- | -| src/uniswap/UniswapV3Swapper.sol | 150 | -| src/inheritance/ExtendedInheritance.sol | 17 | -| src/T11sTranferer.sol | 8 | -| src/StateVariables.sol | 58 | -| src/Counter.sol | 20 | | src/AdminContract.sol | 11 | -| src/UnsafeERC721Mint.sol | 11 | +| src/Counter.sol | 20 | | src/DeprecatedOZFunctions.sol | 32 | +| src/KeccakContract.sol | 21 | +| src/StateVariables.sol | 58 | +| src/StorageConditionals.sol | 59 | +| src/T11sTranferer.sol | 8 | +| src/UnsafeERC721Mint.sol | 11 | +| src/inheritance/ExtendedInheritance.sol | 17 | +| src/inheritance/IContractInheritance.sol | 4 | | src/inheritance/InheritanceBase.sol | 8 | | src/uniswap/UniswapV2Swapper.sol | 50 | -| src/inheritance/IContractInheritance.sol | 4 | -| src/KeccakContract.sol | 21 | -| **Total** | **390** | +| src/uniswap/UniswapV3Swapper.sol | 150 | +| **Total** | **449** | ## Issue Summary @@ -65,13 +67,12 @@ This report was generated by [Aderyn](https://github.com/Cyfrin/aderyn), a stati | Critical | 0 | | High | 1 | | Medium | 4 | -| Low | 5 | +| Low | 6 | | NC | 6 | # High Issues - ## H-1: Using `delegatecall` in loop When calling `delegatecall` the same `msg.value` amount will be accredited multiple times. @@ -81,7 +82,6 @@ When calling `delegatecall` the same `msg.value` amount will be accredited multi # Medium Issues - ## M-1: Centralization Risk for trusted owners Contracts have owners with privileged rights to perform admin tasks and need to be trusted to not perform malicious updates or drain funds. @@ -92,7 +92,6 @@ Contracts have owners with privileged rights to perform admin tasks and need to - Found in src/DeprecatedOZFunctions.sol: Line: 7 - ## M-2: Solmate's SafeTransferLib does not check for token contract's existence There is a subtle difference between the implementation of solmate's SafeTransferLib and OZ's SafeERC20: OZ's SafeERC20 checks if the token is a contract or not, solmate's SafeTransferLib does not. @@ -100,36 +99,34 @@ https://github.com/transmissions11/solmate/blob/main/src/utils/SafeTransferLib.s `@dev Note that none of the functions in this library check that a token has code at all! That responsibility is delegated to the caller` +- Found in src/DeprecatedOZFunctions.sol: Line: 17 - Found in src/DeprecatedOZFunctions.sol: Line: 27 - Found in src/T11sTranferer.sol: Line: 10 -- Found in src/DeprecatedOZFunctions.sol: Line: 17 - ## M-3: Using `block.timestamp` for swap deadline offers no protection In the PoS model, proposers know well in advance if they will propose one or consecutive blocks ahead of time. In such a scenario, a malicious validator can hold back the transaction and execute it at a more favourable block number.Consider allowing function caller to specify swap deadline input parameter. -- Found in src/uniswap/UniswapV2Swapper.sol: Line: 26 +- Found in src/uniswap/UniswapV2Swapper.sol: Line: 23 - Found in src/uniswap/UniswapV2Swapper.sol: Line: 24 -- Found in src/uniswap/UniswapV3Swapper.sol: Line: 69 +- Found in src/uniswap/UniswapV2Swapper.sol: Line: 25 +- Found in src/uniswap/UniswapV2Swapper.sol: Line: 26 +- Found in src/uniswap/UniswapV2Swapper.sol: Line: 27 +- Found in src/uniswap/UniswapV2Swapper.sol: Line: 28 +- Found in src/uniswap/UniswapV2Swapper.sol: Line: 31 - Found in src/uniswap/UniswapV2Swapper.sol: Line: 32 +- Found in src/uniswap/UniswapV2Swapper.sol: Line: 33 +- Found in src/uniswap/UniswapV3Swapper.sol: Line: 52 - Found in src/uniswap/UniswapV3Swapper.sol: Line: 55 -- Found in src/uniswap/UniswapV2Swapper.sol: Line: 23 -- Found in src/uniswap/UniswapV2Swapper.sol: Line: 27 -- Found in src/uniswap/UniswapV2Swapper.sol: Line: 25 -- Found in src/uniswap/UniswapV3Swapper.sol: Line: 94 -- Found in src/uniswap/UniswapV3Swapper.sol: Line: 91 - Found in src/uniswap/UniswapV3Swapper.sol: Line: 66 -- Found in src/uniswap/UniswapV2Swapper.sol: Line: 31 +- Found in src/uniswap/UniswapV3Swapper.sol: Line: 69 - Found in src/uniswap/UniswapV3Swapper.sol: Line: 77 -- Found in src/uniswap/UniswapV2Swapper.sol: Line: 33 - Found in src/uniswap/UniswapV3Swapper.sol: Line: 80 -- Found in src/uniswap/UniswapV2Swapper.sol: Line: 28 -- Found in src/uniswap/UniswapV3Swapper.sol: Line: 52 +- Found in src/uniswap/UniswapV3Swapper.sol: Line: 91 +- Found in src/uniswap/UniswapV3Swapper.sol: Line: 94 - ## M-4: Using `ERC721::_mint()` can be dangerous Using `ERC721::_mint()` can mint ERC721 tokens to addresses which don't support ERC721 tokens. Use `_safeMint()` instead of `_mint()` for ERC721. @@ -139,18 +136,16 @@ Using `ERC721::_mint()` can mint ERC721 tokens to addresses which don't support # Low Issues - ## L-1: `abi.encodePacked()` should not be used with dynamic types when passing the result to a hash function such as `keccak256()` Use `abi.encode()` instead which will pad items to 32 bytes, which will [prevent hash collisions](https://docs.soliditylang.org/en/v0.8.13/abi-spec.html#non-standard-packed-mode) (e.g. `abi.encodePacked(0x123,0x456)` => `0x123456` => `abi.encodePacked(0x1,0x23456)`, but `abi.encode(0x123,0x456)` => `0x0...1230...456`). Unless there is a compelling reason, `abi.encode` should be preferred. If there is only one argument to `abi.encodePacked()` it can often be cast to `bytes()` or `bytes32()` [instead](https://ethereum.stackexchange.com/questions/30912/how-to-compare-strings-in-solidity#answer-82739). If all arguments are strings and or bytes, `bytes.concat()` should be used instead. - Found in src/KeccakContract.sol: Line: 18 -- Found in src/KeccakContract.sol: Line: 26 - Found in src/KeccakContract.sol: Line: 22 +- Found in src/KeccakContract.sol: Line: 26 - ## L-2: `ecrecover` is susceptible to signature malleability The `ecrecover` function is susceptible to signature malleability. This means that the same message can be signed in multiple ways, allowing an attacker to change the message signature without invalidating it. This can lead to unexpected behavior in smart contracts, such as the loss of funds or the ability to bypass access control. Consider using OpenZeppelin's ECDSA library instead of the built-in function. @@ -158,7 +153,6 @@ The `ecrecover` function is susceptible to signature malleability. This means th - Found in src/inheritance/ExtendedInheritance.sol: Line: 21 - ## L-3: Deprecated OpenZeppelin functions should not be used Openzeppelin has deprecated several functions and replaced with newer versions. Please consult https://docs.openzeppelin.com/ @@ -167,53 +161,57 @@ Openzeppelin has deprecated several functions and replaced with newer versions. - Found in src/DeprecatedOZFunctions.sol: Line: 27 - ## L-4: Unsafe ERC20 Operations should not be used ERC20 functions may not behave as expected. For example: return values are not always meaningful. It is recommended to use OpenZeppelin's SafeERC20 library. -- Found in src/DeprecatedOZFunctions.sol: Line: 37 - Found in src/DeprecatedOZFunctions.sol: Line: 32 +- Found in src/DeprecatedOZFunctions.sol: Line: 37 - Found in src/DeprecatedOZFunctions.sol: Line: 38 -- Found in src/DeprecatedOZFunctions.sol: Line: 47 - Found in src/DeprecatedOZFunctions.sol: Line: 42 +- Found in src/DeprecatedOZFunctions.sol: Line: 47 - ## L-5: Solidity pragma should be specific, not wide Consider using a specific version of Solidity in your contracts instead of a wide version. For example, instead of `pragma solidity ^0.8.0;`, use `pragma solidity 0.8.0;` - Found in src/Counter.sol: Line: 2 -- Found in src/inheritance/InheritanceBase.sol: Line: 2 - Found in src/inheritance/IContractInheritance.sol: Line: 2 +- Found in src/inheritance/InheritanceBase.sol: Line: 2 + + +## L-6: Conditional storage checks are not consistent + +When writing `require` or `if` conditionals that check storage values, it is important to be consistent to prevent off-by-one errors. There are instances found where the same storage variable is checked multiple times, but the conditionals are not consistent. + +- Found in src/StorageConditionals.sol: Line: 60 +- Found in src/StorageConditionals.sol: Line: 65 +- Found in src/StorageConditionals.sol: Line: 71 # NC Issues - ## NC-1: Missing checks for `address(0)` when assigning values to address state variables Assigning values to address state variables without checking for `address(0)`. -- Found in src/uniswap/UniswapV2Swapper.sol: Line: 11 - Found in src/StateVariables.sol: Line: 58 +- Found in src/uniswap/UniswapV2Swapper.sol: Line: 11 - ## NC-2: Functions not used internally could be marked external +- Found in src/Counter.sol: Line: 7 - Found in src/StateVariables.sol: Line: 47 -- Found in src/StateVariables.sol: Line: 71 - Found in src/StateVariables.sol: Line: 52 -- Found in src/Counter.sol: Line: 7 -- Found in src/StateVariables.sol: Line: 61 - Found in src/StateVariables.sol: Line: 57 +- Found in src/StateVariables.sol: Line: 61 +- Found in src/StateVariables.sol: Line: 71 - ## NC-3: Constants should be defined and used instead of literals @@ -222,25 +220,22 @@ Assigning values to address state variables without checking for `address(0)`. - Found in src/inheritance/ExtendedInheritance.sol: Line: 15 - ## NC-4: Event is missing `indexed` fields Index event fields make the field more quickly accessible to off-chain tools that parse events. However, note that each index field costs extra gas during emission, so it's not necessarily best to index the maximum allowed per event (three fields). Each event should use three indexed fields if there are three or more fields, and gas usage is not particularly of concern for the events in question. If there are fewer than three fields, all of the fields should be indexed. -- Found in src/inheritance/InheritanceBase.sol: Line: 7 - Found in src/inheritance/ExtendedInheritance.sol: Line: 7 +- Found in src/inheritance/InheritanceBase.sol: Line: 7 - ## NC-5: `require()` / `revert()` statements should have descriptive reason strings or custom errors -- Found in src/DeprecatedOZFunctions.sol: Line: 40 - Found in src/DeprecatedOZFunctions.sol: Line: 37 +- Found in src/DeprecatedOZFunctions.sol: Line: 40 - ## NC-6: The `nonReentrant` `modifier` should occur before all other modifiers This is a best-practice to protect against reentrancy in other modifiers diff --git a/src/ast/modifiers.rs b/src/ast/modifiers.rs index 4fb9391d2..99619e426 100644 --- a/src/ast/modifiers.rs +++ b/src/ast/modifiers.rs @@ -24,6 +24,7 @@ impl Node for ModifierDefinition { if visitor.visit_modifier_definition(self)? { // TODO: should we implement a string based visitor? // self.name.accept(visitor)?; + self.body.accept(visitor)?; self.parameters.accept(visitor)?; } visitor.end_visit_modifier_definition(self) diff --git a/src/context/loader.rs b/src/context/loader.rs index 164e9a975..ce8ad7048 100644 --- a/src/context/loader.rs +++ b/src/context/loader.rs @@ -478,6 +478,13 @@ impl ContextLoader { let source_unit = self.get_source_unit_from_child_node(node); source_unit.and_then(|source_unit| source_unit.absolute_path.as_ref()) } + + pub fn get_node_sort_key(&self, node: &ASTNode) -> (String, usize) { + let source_unit = self.get_source_unit_from_child_node(node).unwrap(); + let absolute_path = source_unit.absolute_path.as_ref().unwrap().clone(); + let source_line = source_unit.source_line(node.src().unwrap()).unwrap(); + (absolute_path, source_line) + } } impl ASTConstVisitor for ContextLoader { diff --git a/src/context/mod.rs b/src/context/mod.rs index c8325ef2e..186dcf607 100644 --- a/src/context/mod.rs +++ b/src/context/mod.rs @@ -1 +1 @@ -pub mod loader; \ No newline at end of file +pub mod loader; diff --git a/src/detect/detector.rs b/src/detect/detector.rs index ff504cfc9..5444c1bb3 100644 --- a/src/detect/detector.rs +++ b/src/detect/detector.rs @@ -4,8 +4,9 @@ use crate::{ high::delegate_call_in_loop::DelegateCallInLoopDetector, low::{ avoid_abi_encode_packed::AvoidAbiEncodePackedDetector, - deprecated_oz_functions::DeprecatedOZFunctionsDetector, ecrecover::EcrecoverDetector, - unsafe_erc20_functions::UnsafeERC20FunctionsDetector, + deprecated_oz_functions::DeprecatedOZFunctionsDetector, + different_storage_conditionals::DifferentStorageConditionalDetector, + ecrecover::EcrecoverDetector, unsafe_erc20_functions::UnsafeERC20FunctionsDetector, unspecific_solidity_pragma::UnspecificSolidityPragmaDetector, }, medium::{ @@ -44,6 +45,7 @@ pub fn get_all_detectors() -> Vec> { Box::::default(), Box::::default(), Box::::default(), + Box::::default(), ] } diff --git a/src/detect/high/mod.rs b/src/detect/high/mod.rs index 78a294cdd..ce47311d0 100644 --- a/src/detect/high/mod.rs +++ b/src/detect/high/mod.rs @@ -1 +1 @@ -pub mod delegate_call_in_loop; \ No newline at end of file +pub mod delegate_call_in_loop; diff --git a/src/detect/low/deprecated_oz_functions.rs b/src/detect/low/deprecated_oz_functions.rs index c33c9f2d8..0caa2f2c4 100644 --- a/src/detect/low/deprecated_oz_functions.rs +++ b/src/detect/low/deprecated_oz_functions.rs @@ -26,7 +26,8 @@ impl Detector for DeprecatedOZFunctionsDetector { .absolute_path .as_ref() .map_or(false, |path| path.contains("openzeppelin")) - }) && identifier.name == "_setupRole" { + }) && identifier.name == "_setupRole" + { self.found_deprecated_oz_functions .push(Some(ASTNode::Identifier(identifier.clone()))); } @@ -43,7 +44,8 @@ impl Detector for DeprecatedOZFunctionsDetector { .absolute_path .as_ref() .map_or(false, |path| path.contains("openzeppelin")) - }) && member_access.member_name == "safeApprove" { + }) && member_access.member_name == "safeApprove" + { self.found_deprecated_oz_functions .push(Some(ASTNode::MemberAccess(member_access.clone()))); } diff --git a/src/detect/low/different_storage_conditionals.rs b/src/detect/low/different_storage_conditionals.rs new file mode 100644 index 000000000..b75737859 --- /dev/null +++ b/src/detect/low/different_storage_conditionals.rs @@ -0,0 +1,155 @@ +use std::{collections::HashMap, error::Error}; + +use crate::{ + ast::{BinaryOperation, Expression, VariableDeclaration}, + context::loader::{ASTNode, ContextLoader}, + detect::detector::{Detector, IssueSeverity}, +}; +use eyre::Result; + +#[derive(Default)] +pub struct DifferentStorageConditionalDetector { + found_different_storage_conditionals: Vec>, +} + +impl Detector for DifferentStorageConditionalDetector { + fn detect(&mut self, loader: &ContextLoader) -> Result> { + // Step 1: Get all state variable declarations + let state_variables: Vec<&VariableDeclaration> = loader + .get_variable_declarations() + .into_iter() + .filter(|&var_decl| var_decl.state_variable) + .collect(); + + // Get all state variable IDs + let state_variable_ids: Vec = state_variables.iter().map(|var| var.id).collect(); + + // Step 2: construct a map of referenced state variable id to binary operations + let mut binary_operations_by_referenced_state_variable: HashMap< + i64, + Vec<&BinaryOperation>, + > = HashMap::new(); + + for binary_operation in loader.get_binary_operations() { + if let Expression::Identifier(left_expr) = &*binary_operation.left_expression { + if state_variable_ids.contains(&left_expr.referenced_declaration) { + binary_operations_by_referenced_state_variable + .entry(left_expr.referenced_declaration) + .or_default() + .push(binary_operation); + } + } + + if let Expression::Identifier(right_expr) = &*binary_operation.right_expression { + if state_variable_ids.contains(&right_expr.referenced_declaration) { + binary_operations_by_referenced_state_variable + .entry(right_expr.referenced_declaration) + .or_default() + .push(binary_operation); + } + } + } + + for (&var_id, operations) in &binary_operations_by_referenced_state_variable { + if !operations.is_empty() { + // Extract the first operation to compare with others + let first_op = &operations[0]; + let (first_op_side, first_op_operator) = if matches!(&*first_op.left_expression, Expression::Identifier(ident) if ident.referenced_declaration == var_id) + { + ("left", &first_op.operator) + } else { + ("right", &first_op.operator) + }; + + // Check if all operations are consistent with the first one + let mut first_added = false; + for op in operations { + // Determine the side and operator of the current operation + let current_op_side = if matches!(&*op.left_expression, Expression::Identifier(expr) if expr.referenced_declaration == var_id) + { + "left" + } else { + "right" + }; + + let current_op_operator = &op.operator; + + // Define valid mirror operators + let mirror_operator = match first_op_operator.as_str() { + "<" => ">", + ">" => "<", + _ => first_op_operator, // for other operators, no mirroring logic + }; + + // Check if the current operation is consistent or a valid mirror of the first operation + let is_consistent_or_mirror = (current_op_side == first_op_side + && current_op_operator == first_op_operator) + || (current_op_side != first_op_side + && current_op_operator == mirror_operator); + + if !is_consistent_or_mirror { + self.found_different_storage_conditionals + .push(Some(ASTNode::BinaryOperation((*op).clone()))); + if !first_added { + self.found_different_storage_conditionals + .push(Some(ASTNode::BinaryOperation((*first_op).clone()))); + first_added = true; + } + } + } + } + } + + Ok(!self.found_different_storage_conditionals.is_empty()) + } + fn title(&self) -> String { + String::from("Conditional storage checks are not consistent") + } + fn description(&self) -> String { + String::from("When writing `require` or `if` conditionals that check storage values, it is important to be consistent to prevent off-by-one errors. \ + There are instances found where the same storage variable is checked multiple times, but the conditionals are not consistent.") + } + fn severity(&self) -> IssueSeverity { + IssueSeverity::Low + } + fn instances(&self) -> Vec> { + self.found_different_storage_conditionals.clone() + } +} + +#[cfg(test)] +mod different_storage_conditionals_tests { + use crate::detect::detector::{detector_test_helpers::load_contract, Detector}; + + use super::DifferentStorageConditionalDetector; + + #[test] + fn test_different_storage_conditionals() { + let context_loader = load_contract( + "./tests/contract-playground/out/StorageConditionals.sol/StorageConditionals.json", + ); + let mut detector = DifferentStorageConditionalDetector::default(); + let found = detector.detect(&context_loader).unwrap(); + + // assert found + assert!(found); + // assert severity + assert_eq!( + detector.severity(), + crate::detect::detector::IssueSeverity::Low + ); + // assert title + assert_eq!( + detector.title(), + String::from("Conditional storage checks are not consistent") + ); + // assert description + assert_eq!( + detector.description(), + String::from("When writing `require` or `if` conditionals that check storage values, it is important to be consistent to prevent off-by-one errors. \ + There are instances found where the same storage variable is checked multiple times, but the conditionals are not consistent.") + ); + // assert instances + assert_eq!(detector.instances().len(), 3); + } +} diff --git a/src/detect/low/mod.rs b/src/detect/low/mod.rs index c7bfa7f30..94805dfcb 100644 --- a/src/detect/low/mod.rs +++ b/src/detect/low/mod.rs @@ -1,5 +1,6 @@ pub mod avoid_abi_encode_packed; pub mod deprecated_oz_functions; +pub mod different_storage_conditionals; pub mod ecrecover; pub mod unsafe_erc20_functions; pub mod unspecific_solidity_pragma; diff --git a/src/detect/medium/unsafe_oz_erc721_mint.rs b/src/detect/medium/unsafe_oz_erc721_mint.rs index c3918a9ad..41d8e9554 100644 --- a/src/detect/medium/unsafe_oz_erc721_mint.rs +++ b/src/detect/medium/unsafe_oz_erc721_mint.rs @@ -26,7 +26,8 @@ impl Detector for UnsafeERC721MintDetector { .absolute_path .as_ref() .map_or(false, |path| path.contains("openzeppelin")) - }) && identifier.name == "_mint" { + }) && identifier.name == "_mint" + { self.found_unsafe_erc721_mint .push(Some(ASTNode::Identifier(identifier.clone()))); } diff --git a/src/lib.rs b/src/lib.rs index 4c50fd57c..b3667a2a0 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -53,9 +53,11 @@ pub fn run(context_loader: ContextLoader) -> Result<(), Box> { } } - println!("Detectors run, printing report"); + println!("Detectors run, processing found issues"); let printer = MarkdownReportPrinter; + report.post_process(&context_loader); + println!("Found issues processed. Printing report"); printer.print_report(get_markdown_writer("report.md")?, &report, &context_loader)?; println!("Report printed to ./report.md"); diff --git a/src/report/printer.rs b/src/report/printer.rs index a0d30b6e1..d75ecb4c2 100644 --- a/src/report/printer.rs +++ b/src/report/printer.rs @@ -124,8 +124,11 @@ impl ReportPrinter for MarkdownReportPrinter { let sloc_stats = loader.get_sloc_stats(); + let mut source_units = loader.get_source_units(); + source_units.sort_by_key(|su| su.absolute_path.as_deref().unwrap_or("")); + // Iterate over source units and add each as a row in the markdown table - for source_unit in loader.get_source_units() { + for source_unit in source_units { let filepath = source_unit.absolute_path.as_ref().unwrap(); let report: &tokei::Report = sloc_stats .reports @@ -161,60 +164,90 @@ impl ReportPrinter for MarkdownReportPrinter { if !report.criticals.is_empty() { writeln!(writer, "- [Critical Issues](#critical-issues)")?; for (index, issue) in report.criticals.iter().enumerate() { + let issue_title_slug = issue + .title + .to_lowercase() + .replace(' ', "-") + .replace(|c: char| !c.is_ascii_alphanumeric() && c != '-', ""); writeln!( writer, - " - [C-{}: {}](#C-{})", + " - [C-{}: {}](#C-{}-{})", index + 1, issue.title, - index + 1 + index + 1, + issue_title_slug )?; } } if !report.highs.is_empty() { writeln!(writer, "- [High Issues](#high-issues)")?; for (index, issue) in report.highs.iter().enumerate() { + let issue_title_slug = issue + .title + .to_lowercase() + .replace(' ', "-") + .replace(|c: char| !c.is_ascii_alphanumeric() && c != '-', ""); writeln!( writer, - " - [H-{}: {}](#H-{})", + " - [H-{}: {}](#H-{}-{})", index + 1, issue.title, - index + 1 + index + 1, + issue_title_slug )?; } } if !report.mediums.is_empty() { writeln!(writer, "- [Medium Issues](#medium-issues)")?; for (index, issue) in report.mediums.iter().enumerate() { + let issue_title_slug = issue + .title + .to_lowercase() + .replace(' ', "-") + .replace(|c: char| !c.is_ascii_alphanumeric() && c != '-', ""); writeln!( writer, - " - [M-{}: {}](#M-{})", + " - [M-{}: {}](#M-{}-{})", index + 1, issue.title, - index + 1 + index + 1, + issue_title_slug )?; } } if !report.lows.is_empty() { writeln!(writer, "- [Low Issues](#low-issues)")?; for (index, issue) in report.lows.iter().enumerate() { + let issue_title_slug = issue + .title + .to_lowercase() + .replace(' ', "-") + .replace(|c: char| !c.is_ascii_alphanumeric() && c != '-', ""); writeln!( writer, - " - [L-{}: {}](#L-{})", + " - [L-{}: {}](#L-{}-{})", index + 1, issue.title, - index + 1 + index + 1, + issue_title_slug )?; } } if !report.ncs.is_empty() { writeln!(writer, "- [NC Issues](#nc-issues)")?; for (index, issue) in report.ncs.iter().enumerate() { + let issue_title_slug = issue + .title + .to_lowercase() + .replace(' ', "-") + .replace(|c: char| !c.is_ascii_alphanumeric() && c != '-', ""); writeln!( writer, - " - [NC-{}: {}](#NC-{})", + " - [NC-{}: {}](#NC-{}-{})", index + 1, issue.title, - index + 1 + index + 1, + issue_title_slug )?; } } @@ -232,8 +265,8 @@ impl ReportPrinter for MarkdownReportPrinter { ) -> Result<()> { writeln!( writer, - "\n## {}-{}: {}\n\n{}\n", // is the anchor for the issue title - severity, number, severity, number, issue.title, issue.description + "## {}-{}: {}\n\n{}\n", // is the anchor for the issue title + severity, number, issue.title, issue.description )?; for node in issue.instances.iter().flatten() { let mut contract_path = "unknown"; diff --git a/src/report/reporter.rs b/src/report/reporter.rs index 662c79543..a657382cb 100644 --- a/src/report/reporter.rs +++ b/src/report/reporter.rs @@ -1,4 +1,4 @@ -use crate::context::loader::ASTNode; +use crate::context::loader::{ASTNode, ContextLoader}; #[derive(Default, PartialEq)] pub struct Report { @@ -9,9 +9,35 @@ pub struct Report { pub ncs: Vec, } -#[derive(Default, PartialEq)] +impl Report { + pub fn post_process(&mut self, loader: &ContextLoader) { + sort_issue_instances(&mut self.criticals, loader); + sort_issue_instances(&mut self.highs, loader); + sort_issue_instances(&mut self.mediums, loader); + sort_issue_instances(&mut self.lows, loader); + sort_issue_instances(&mut self.ncs, loader); + } +} + +fn sort_issue_instances(issues: &mut Vec, loader: &ContextLoader) { + for issue in issues { + issue.sort_instances(loader); + } +} + +#[derive(Default, PartialEq, Clone, Debug)] pub struct Issue { pub title: String, pub description: String, pub instances: Vec>, } + +impl Issue { + fn sort_instances(&mut self, loader: &ContextLoader) { + self.instances.sort_by(|a, b| { + let a_key = loader.get_node_sort_key(a.as_ref().unwrap()); + let b_key = loader.get_node_sort_key(b.as_ref().unwrap()); + a_key.cmp(&b_key) + }); + } +} diff --git a/tests/contract-playground/out/AccessControl.sol/AccessControl.json b/tests/contract-playground/out/AccessControl.sol/AccessControl.json index 427e64329..ac7c06eaf 100644 --- a/tests/contract-playground/out/AccessControl.sol/AccessControl.json +++ b/tests/contract-playground/out/AccessControl.sol/AccessControl.json @@ -224,7 +224,7 @@ "revokeRole(bytes32,address)": "d547741f", "supportsInterface(bytes4)": "01ffc9a7" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module that allows children to implement role-based access control mechanisms. This is a lightweight version that doesn't allow enumerating role members except through off-chain means by accessing the contract event logs. Some applications may benefit from on-chain enumerability, for those cases see {AccessControlEnumerable}. Roles are referred to by their `bytes32` identifier. These should be exposed in the external API and be unique. The best way to achieve this is by using `public constant` hash digests: ```solidity bytes32 public constant MY_ROLE = keccak256(\\\"MY_ROLE\\\"); ``` Roles can be used to represent a set of permissions. To restrict access to a function call, use {hasRole}: ```solidity function foo() public { require(hasRole(MY_ROLE, msg.sender)); ... } ``` Roles can be granted and revoked dynamically via the {grantRole} and {revokeRole} functions. Each role has an associated admin role, and only accounts that have a role's admin role can call {grantRole} and {revokeRole}. By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means that only accounts with this role will be able to grant or revoke other roles. More complex role relationships can be created by using {_setRoleAdmin}. WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to grant and revoke this role. Extra precautions should be taken to secure accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules} to enforce additional security measures for this role.\",\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":\"AccessControl\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module that allows children to implement role-based access control mechanisms. This is a lightweight version that doesn't allow enumerating role members except through off-chain means by accessing the contract event logs. Some applications may benefit from on-chain enumerability, for those cases see {AccessControlEnumerable}. Roles are referred to by their `bytes32` identifier. These should be exposed in the external API and be unique. The best way to achieve this is by using `public constant` hash digests: ```solidity bytes32 public constant MY_ROLE = keccak256(\\\"MY_ROLE\\\"); ``` Roles can be used to represent a set of permissions. To restrict access to a function call, use {hasRole}: ```solidity function foo() public { require(hasRole(MY_ROLE, msg.sender)); ... } ``` Roles can be granted and revoked dynamically via the {grantRole} and {revokeRole} functions. Each role has an associated admin role, and only accounts that have a role's admin role can call {grantRole} and {revokeRole}. By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means that only accounts with this role will be able to grant or revoke other roles. More complex role relationships can be created by using {_setRoleAdmin}. WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to grant and revoke this role. Extra precautions should be taken to secure accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules} to enforce additional security measures for this role.\",\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":\"AccessControl\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -471,7 +471,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, @@ -561,25 +562,25 @@ 43207 ], "Context": [ - 44300 + 45388 ], "ERC165": [ - 44553 + 45641 ], "IAccessControl": [ 43280 ], "IERC165": [ - 44565 + 45653 ], "Math": [ - 45431 + 46519 ], "SignedMath": [ - 45536 + 46624 ], "Strings": [ - 44529 + 45617 ] }, "nodeType": "SourceUnit", @@ -619,7 +620,7 @@ "file": "../utils/Context.sol", "nameLocation": "-1:-1:-1", "scope": 43208, - "sourceUnit": 44301, + "sourceUnit": 45389, "symbolAliases": [], "unitAlias": "" }, @@ -632,7 +633,7 @@ "file": "../utils/Strings.sol", "nameLocation": "-1:-1:-1", "scope": 43208, - "sourceUnit": 44530, + "sourceUnit": 45618, "symbolAliases": [], "unitAlias": "" }, @@ -645,7 +646,7 @@ "file": "../utils/introspection/ERC165.sol", "nameLocation": "-1:-1:-1", "scope": 43208, - "sourceUnit": 44554, + "sourceUnit": 45642, "symbolAliases": [], "unitAlias": "" }, @@ -1130,7 +1131,7 @@ "memberLocation": "2897:17:19", "memberName": "supportsInterface", "nodeType": "MemberAccess", - "referencedDeclaration": 44552, + "referencedDeclaration": 45640, "src": "2891:23:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", @@ -1167,7 +1168,7 @@ ] }, "baseFunctions": [ - 44552 + 45640 ], "documentation": { "id": 42931, @@ -1513,7 +1514,7 @@ "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44290, + "referencedDeclaration": 45378, "src": "3543:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", @@ -1790,10 +1791,10 @@ "name": "Strings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44529, + "referencedDeclaration": 45617, "src": "4115:7:19", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Strings_$44529_$", + "typeIdentifier": "t_type$_t_contract$_Strings_$45617_$", "typeString": "type(library Strings)" } }, @@ -1805,7 +1806,7 @@ "memberLocation": "4123:11:19", "memberName": "toHexString", "nodeType": "MemberAccess", - "referencedDeclaration": 44503, + "referencedDeclaration": 45591, "src": "4115:19:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_string_memory_ptr_$", @@ -1936,10 +1937,10 @@ "name": "Strings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44529, + "referencedDeclaration": 45617, "src": "4214:7:19", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Strings_$44529_$", + "typeIdentifier": "t_type$_t_contract$_Strings_$45617_$", "typeString": "type(library Strings)" } }, @@ -1951,7 +1952,7 @@ "memberLocation": "4222:11:19", "memberName": "toHexString", "nodeType": "MemberAccess", - "referencedDeclaration": 44483, + "referencedDeclaration": 45571, "src": "4214:19:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", @@ -2912,7 +2913,7 @@ "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44290, + "referencedDeclaration": 45378, "src": "6144:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", @@ -3936,7 +3937,7 @@ "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44290, + "referencedDeclaration": 45378, "src": "7790:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", @@ -4328,7 +4329,7 @@ "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44290, + "referencedDeclaration": 45378, "src": "8195:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", @@ -4498,7 +4499,7 @@ "1967:7:19" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 44300, + "referencedDeclaration": 45388, "src": "1967:7:19" }, "id": 42900, @@ -4528,7 +4529,7 @@ "1992:6:19" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 44553, + "referencedDeclaration": 45641, "src": "1992:6:19" }, "id": 42904, @@ -4548,10 +4549,10 @@ "fullyImplemented": true, "linearizedBaseContracts": [ 43207, - 44553, - 44565, + 45641, + 45653, 43280, - 44300 + 45388 ], "name": "AccessControl", "nameLocation": "1950:13:19", diff --git a/tests/contract-playground/out/Address.sol/Address.json b/tests/contract-playground/out/Address.sol/Address.json index 63e9ac65a..d505b8974 100644 --- a/tests/contract-playground/out/Address.sol/Address.json +++ b/tests/contract-playground/out/Address.sol/Address.json @@ -1,17 +1,17 @@ { "abi": [], "bytecode": { - "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cce7b0258be5dcc7d0368d22913d7862136402fa0db76fcd38166d2480a45bd764736f6c63430008140033", - "sourceMap": "194:9169:26:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;194:9169:26;;;;;;;;;;;;;;;;;", + "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220995839642d51c0dc795540a42ad135d33e8c6ca8a61650ad04ac5966d49534f664736f6c63430008140033", + "sourceMap": "194:9169:30:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;194:9169:30;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cce7b0258be5dcc7d0368d22913d7862136402fa0db76fcd38166d2480a45bd764736f6c63430008140033", - "sourceMap": "194:9169:26:-:0;;;;;;;;", + "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220995839642d51c0dc795540a42ad135d33e8c6ca8a61650ad04ac5966d49534f664736f6c63430008140033", + "sourceMap": "194:9169:30:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, @@ -65,19 +66,19 @@ }, "ast": { "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "id": 44279, + "id": 45367, "exportedSymbols": { "Address": [ - 44278 + 45366 ] }, "nodeType": "SourceUnit", - "src": "101:9263:26", + "src": "101:9263:30", "nodes": [ { - "id": 43950, + "id": 45038, "nodeType": "PragmaDirective", - "src": "101:23:26", + "src": "101:23:30", "nodes": [], "literals": [ "solidity", @@ -87,19 +88,19 @@ ] }, { - "id": 44278, + "id": 45366, "nodeType": "ContractDefinition", - "src": "194:9169:26", + "src": "194:9169:30", "nodes": [ { - "id": 43966, + "id": 45054, "nodeType": "FunctionDefinition", - "src": "1412:320:26", + "src": "1412:320:30", "nodes": [], "body": { - "id": 43965, + "id": 45053, "nodeType": "Block", - "src": "1478:254:26", + "src": "1478:254:30", "nodes": [], "statements": [ { @@ -108,7 +109,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 43963, + "id": 45051, "isConstant": false, "isLValue": false, "isPure": false, @@ -116,40 +117,40 @@ "leftExpression": { "expression": { "expression": { - "id": 43959, + "id": 45047, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 43954, - "src": "1702:7:26", + "referencedDeclaration": 45042, + "src": "1702:7:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 43960, + "id": 45048, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1710:4:26", + "memberLocation": "1710:4:30", "memberName": "code", "nodeType": "MemberAccess", - "src": "1702:12:26", + "src": "1702:12:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 43961, + "id": 45049, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1715:6:26", + "memberLocation": "1715:6:30", "memberName": "length", "nodeType": "MemberAccess", - "src": "1702:19:26", + "src": "1702:19:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -159,57 +160,57 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 43962, + "id": 45050, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1724:1:26", + "src": "1724:1:30", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1702:23:26", + "src": "1702:23:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 43958, - "id": 43964, + "functionReturnParameters": 45046, + "id": 45052, "nodeType": "Return", - "src": "1695:30:26" + "src": "1695:30:30" } ] }, "documentation": { - "id": 43952, + "id": 45040, "nodeType": "StructuredDocumentation", - "src": "216:1191:26", + "src": "216:1191:30", "text": " @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n Furthermore, `isContract` will also return true if the target contract within\n the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\n which only has an effect at the end of a transaction.\n ====\n [IMPORTANT]\n ====\n You shouldn't rely on `isContract` to protect against flash loan attacks!\n Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n constructor.\n ====" }, "implemented": true, "kind": "function", "modifiers": [], "name": "isContract", - "nameLocation": "1421:10:26", + "nameLocation": "1421:10:30", "parameters": { - "id": 43955, + "id": 45043, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 43954, + "id": 45042, "mutability": "mutable", "name": "account", - "nameLocation": "1440:7:26", + "nameLocation": "1440:7:30", "nodeType": "VariableDeclaration", - "scope": 43966, - "src": "1432:15:26", + "scope": 45054, + "src": "1432:15:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -217,10 +218,10 @@ "typeString": "address" }, "typeName": { - "id": 43953, + "id": 45041, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1432:7:26", + "src": "1432:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -230,21 +231,21 @@ "visibility": "internal" } ], - "src": "1431:17:26" + "src": "1431:17:30" }, "returnParameters": { - "id": 43958, + "id": 45046, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 43957, + "id": 45045, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 43966, - "src": "1472:4:26", + "scope": 45054, + "src": "1472:4:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -252,10 +253,10 @@ "typeString": "bool" }, "typeName": { - "id": 43956, + "id": 45044, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1472:4:26", + "src": "1472:4:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -264,22 +265,22 @@ "visibility": "internal" } ], - "src": "1471:6:26" + "src": "1471:6:30" }, - "scope": 44278, + "scope": 45366, "stateMutability": "view", "virtual": false, "visibility": "internal" }, { - "id": 44000, + "id": 45088, "nodeType": "FunctionDefinition", - "src": "2647:312:26", + "src": "2647:312:30", "nodes": [], "body": { - "id": 43999, + "id": 45087, "nodeType": "Block", - "src": "2718:241:26", + "src": "2718:241:30", "nodes": [], "statements": [ { @@ -290,7 +291,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 43981, + "id": 45069, "isConstant": false, "isLValue": false, "isPure": false, @@ -299,14 +300,14 @@ "expression": { "arguments": [ { - "id": 43977, + "id": 45065, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "2744:4:26", + "src": "2744:4:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$44278", + "typeIdentifier": "t_contract$_Address_$45366", "typeString": "library Address" } } @@ -314,30 +315,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Address_$44278", + "typeIdentifier": "t_contract$_Address_$45366", "typeString": "library Address" } ], - "id": 43976, + "id": 45064, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2736:7:26", + "src": "2736:7:30", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 43975, + "id": 45063, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2736:7:26", + "src": "2736:7:30", "typeDescriptions": {} } }, - "id": 43978, + "id": 45066, "isConstant": false, "isLValue": false, "isPure": false, @@ -346,22 +347,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2736:13:26", + "src": "2736:13:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 43979, + "id": 45067, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2750:7:26", + "memberLocation": "2750:7:30", "memberName": "balance", "nodeType": "MemberAccess", - "src": "2736:21:26", + "src": "2736:21:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -370,18 +371,18 @@ "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { - "id": 43980, + "id": 45068, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 43971, - "src": "2761:6:26", + "referencedDeclaration": 45059, + "src": "2761:6:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2736:31:26", + "src": "2736:31:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -389,14 +390,14 @@ }, { "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", - "id": 43982, + "id": 45070, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2769:31:26", + "src": "2769:31:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", "typeString": "literal_string \"Address: insufficient balance\"" @@ -415,7 +416,7 @@ "typeString": "literal_string \"Address: insufficient balance\"" } ], - "id": 43974, + "id": 45062, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -423,13 +424,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2728:7:26", + "src": "2728:7:30", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 43983, + "id": 45071, "isConstant": false, "isLValue": false, "isPure": false, @@ -438,32 +439,32 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2728:73:26", + "src": "2728:73:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 43984, + "id": 45072, "nodeType": "ExpressionStatement", - "src": "2728:73:26" + "src": "2728:73:30" }, { "assignments": [ - 43986, + 45074, null ], "declarations": [ { "constant": false, - "id": 43986, + "id": 45074, "mutability": "mutable", "name": "success", - "nameLocation": "2818:7:26", + "nameLocation": "2818:7:30", "nodeType": "VariableDeclaration", - "scope": 43999, - "src": "2813:12:26", + "scope": 45087, + "src": "2813:12:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -471,10 +472,10 @@ "typeString": "bool" }, "typeName": { - "id": 43985, + "id": 45073, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2813:4:26", + "src": "2813:4:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -484,19 +485,19 @@ }, null ], - "id": 43993, + "id": 45081, "initialValue": { "arguments": [ { "hexValue": "", - "id": 43991, + "id": 45079, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2861:2:26", + "src": "2861:2:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" @@ -519,32 +520,32 @@ } ], "expression": { - "id": 43987, + "id": 45075, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 43969, - "src": "2831:9:26", + "referencedDeclaration": 45057, + "src": "2831:9:30", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 43988, + "id": 45076, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2841:4:26", + "memberLocation": "2841:4:30", "memberName": "call", "nodeType": "MemberAccess", - "src": "2831:14:26", + "src": "2831:14:30", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 43990, + "id": 45078, "isConstant": false, "isLValue": false, "isPure": false, @@ -555,25 +556,25 @@ "nodeType": "FunctionCallOptions", "options": [ { - "id": 43989, + "id": 45077, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 43971, - "src": "2853:6:26", + "referencedDeclaration": 45059, + "src": "2853:6:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "src": "2831:29:26", + "src": "2831:29:30", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 43992, + "id": 45080, "isConstant": false, "isLValue": false, "isPure": false, @@ -582,7 +583,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2831:33:26", + "src": "2831:33:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", @@ -590,18 +591,18 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2812:52:26" + "src": "2812:52:30" }, { "expression": { "arguments": [ { - "id": 43995, + "id": 45083, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 43986, - "src": "2882:7:26", + "referencedDeclaration": 45074, + "src": "2882:7:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -609,14 +610,14 @@ }, { "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", - "id": 43996, + "id": 45084, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2891:60:26", + "src": "2891:60:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" @@ -635,7 +636,7 @@ "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" } ], - "id": 43994, + "id": 45082, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -643,13 +644,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2874:7:26", + "src": "2874:7:30", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 43997, + "id": 45085, "isConstant": false, "isLValue": false, "isPure": false, @@ -658,43 +659,43 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2874:78:26", + "src": "2874:78:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 43998, + "id": 45086, "nodeType": "ExpressionStatement", - "src": "2874:78:26" + "src": "2874:78:30" } ] }, "documentation": { - "id": 43967, + "id": 45055, "nodeType": "StructuredDocumentation", - "src": "1738:904:26", + "src": "1738:904:30", "text": " @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.8.0/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]." }, "implemented": true, "kind": "function", "modifiers": [], "name": "sendValue", - "nameLocation": "2656:9:26", + "nameLocation": "2656:9:30", "parameters": { - "id": 43972, + "id": 45060, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 43969, + "id": 45057, "mutability": "mutable", "name": "recipient", - "nameLocation": "2682:9:26", + "nameLocation": "2682:9:30", "nodeType": "VariableDeclaration", - "scope": 44000, - "src": "2666:25:26", + "scope": 45088, + "src": "2666:25:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -702,10 +703,10 @@ "typeString": "address payable" }, "typeName": { - "id": 43968, + "id": 45056, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2666:15:26", + "src": "2666:15:30", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -716,13 +717,13 @@ }, { "constant": false, - "id": 43971, + "id": 45059, "mutability": "mutable", "name": "amount", - "nameLocation": "2701:6:26", + "nameLocation": "2701:6:30", "nodeType": "VariableDeclaration", - "scope": 44000, - "src": "2693:14:26", + "scope": 45088, + "src": "2693:14:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -730,10 +731,10 @@ "typeString": "uint256" }, "typeName": { - "id": 43970, + "id": 45058, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2693:7:26", + "src": "2693:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -742,52 +743,52 @@ "visibility": "internal" } ], - "src": "2665:43:26" + "src": "2665:43:30" }, "returnParameters": { - "id": 43973, + "id": 45061, "nodeType": "ParameterList", "parameters": [], - "src": "2718:0:26" + "src": "2718:0:30" }, - "scope": 44278, + "scope": 45366, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 44018, + "id": 45106, "nodeType": "FunctionDefinition", - "src": "3701:185:26", + "src": "3701:185:30", "nodes": [], "body": { - "id": 44017, + "id": 45105, "nodeType": "Block", - "src": "3790:96:26", + "src": "3790:96:30", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 44011, + "id": 45099, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44003, - "src": "3829:6:26", + "referencedDeclaration": 45091, + "src": "3829:6:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 44012, + "id": 45100, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44005, - "src": "3837:4:26", + "referencedDeclaration": 45093, + "src": "3837:4:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -795,14 +796,14 @@ }, { "hexValue": "30", - "id": 44013, + "id": 45101, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3843:1:26", + "src": "3843:1:30", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -811,14 +812,14 @@ }, { "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", - "id": 44014, + "id": 45102, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3846:32:26", + "src": "3846:32:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", "typeString": "literal_string \"Address: low-level call failed\"" @@ -845,21 +846,21 @@ "typeString": "literal_string \"Address: low-level call failed\"" } ], - "id": 44010, + "id": 45098, "name": "functionCallWithValue", "nodeType": "Identifier", "overloadedDeclarations": [ - 44058, - 44102 + 45146, + 45190 ], - "referencedDeclaration": 44102, - "src": "3807:21:26", + "referencedDeclaration": 45190, + "src": "3807:21:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" } }, - "id": 44015, + "id": 45103, "isConstant": false, "isLValue": false, "isPure": false, @@ -868,44 +869,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3807:72:26", + "src": "3807:72:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 44009, - "id": 44016, + "functionReturnParameters": 45097, + "id": 45104, "nodeType": "Return", - "src": "3800:79:26" + "src": "3800:79:30" } ] }, "documentation": { - "id": 44001, + "id": 45089, "nodeType": "StructuredDocumentation", - "src": "2965:731:26", + "src": "2965:731:30", "text": " @dev Performs a Solidity function call using a low level `call`. A\n plain `call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._" }, "implemented": true, "kind": "function", "modifiers": [], "name": "functionCall", - "nameLocation": "3710:12:26", + "nameLocation": "3710:12:30", "parameters": { - "id": 44006, + "id": 45094, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44003, + "id": 45091, "mutability": "mutable", "name": "target", - "nameLocation": "3731:6:26", + "nameLocation": "3731:6:30", "nodeType": "VariableDeclaration", - "scope": 44018, - "src": "3723:14:26", + "scope": 45106, + "src": "3723:14:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -913,10 +914,10 @@ "typeString": "address" }, "typeName": { - "id": 44002, + "id": 45090, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3723:7:26", + "src": "3723:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -927,13 +928,13 @@ }, { "constant": false, - "id": 44005, + "id": 45093, "mutability": "mutable", "name": "data", - "nameLocation": "3752:4:26", + "nameLocation": "3752:4:30", "nodeType": "VariableDeclaration", - "scope": 44018, - "src": "3739:17:26", + "scope": 45106, + "src": "3739:17:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -941,10 +942,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44004, + "id": 45092, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3739:5:26", + "src": "3739:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -953,21 +954,21 @@ "visibility": "internal" } ], - "src": "3722:35:26" + "src": "3722:35:30" }, "returnParameters": { - "id": 44009, + "id": 45097, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44008, + "id": 45096, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44018, - "src": "3776:12:26", + "scope": 45106, + "src": "3776:12:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -975,10 +976,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44007, + "id": 45095, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3776:5:26", + "src": "3776:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -987,46 +988,46 @@ "visibility": "internal" } ], - "src": "3775:14:26" + "src": "3775:14:30" }, - "scope": 44278, + "scope": 45366, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 44038, + "id": 45126, "nodeType": "FunctionDefinition", - "src": "4108:223:26", + "src": "4108:223:30", "nodes": [], "body": { - "id": 44037, + "id": 45125, "nodeType": "Block", - "src": "4255:76:26", + "src": "4255:76:30", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 44031, + "id": 45119, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44021, - "src": "4294:6:26", + "referencedDeclaration": 45109, + "src": "4294:6:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 44032, + "id": 45120, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44023, - "src": "4302:4:26", + "referencedDeclaration": 45111, + "src": "4302:4:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -1034,14 +1035,14 @@ }, { "hexValue": "30", - "id": 44033, + "id": 45121, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4308:1:26", + "src": "4308:1:30", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -1049,12 +1050,12 @@ "value": "0" }, { - "id": 44034, + "id": 45122, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44025, - "src": "4311:12:26", + "referencedDeclaration": 45113, + "src": "4311:12:30", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1080,21 +1081,21 @@ "typeString": "string memory" } ], - "id": 44030, + "id": 45118, "name": "functionCallWithValue", "nodeType": "Identifier", "overloadedDeclarations": [ - 44058, - 44102 + 45146, + 45190 ], - "referencedDeclaration": 44102, - "src": "4272:21:26", + "referencedDeclaration": 45190, + "src": "4272:21:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" } }, - "id": 44035, + "id": 45123, "isConstant": false, "isLValue": false, "isPure": false, @@ -1103,44 +1104,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4272:52:26", + "src": "4272:52:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 44029, - "id": 44036, + "functionReturnParameters": 45117, + "id": 45124, "nodeType": "Return", - "src": "4265:59:26" + "src": "4265:59:30" } ] }, "documentation": { - "id": 44019, + "id": 45107, "nodeType": "StructuredDocumentation", - "src": "3892:211:26", + "src": "3892:211:30", "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" }, "implemented": true, "kind": "function", "modifiers": [], "name": "functionCall", - "nameLocation": "4117:12:26", + "nameLocation": "4117:12:30", "parameters": { - "id": 44026, + "id": 45114, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44021, + "id": 45109, "mutability": "mutable", "name": "target", - "nameLocation": "4147:6:26", + "nameLocation": "4147:6:30", "nodeType": "VariableDeclaration", - "scope": 44038, - "src": "4139:14:26", + "scope": 45126, + "src": "4139:14:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1148,10 +1149,10 @@ "typeString": "address" }, "typeName": { - "id": 44020, + "id": 45108, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4139:7:26", + "src": "4139:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1162,13 +1163,13 @@ }, { "constant": false, - "id": 44023, + "id": 45111, "mutability": "mutable", "name": "data", - "nameLocation": "4176:4:26", + "nameLocation": "4176:4:30", "nodeType": "VariableDeclaration", - "scope": 44038, - "src": "4163:17:26", + "scope": 45126, + "src": "4163:17:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1176,10 +1177,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44022, + "id": 45110, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4163:5:26", + "src": "4163:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1189,13 +1190,13 @@ }, { "constant": false, - "id": 44025, + "id": 45113, "mutability": "mutable", "name": "errorMessage", - "nameLocation": "4204:12:26", + "nameLocation": "4204:12:30", "nodeType": "VariableDeclaration", - "scope": 44038, - "src": "4190:26:26", + "scope": 45126, + "src": "4190:26:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1203,10 +1204,10 @@ "typeString": "string" }, "typeName": { - "id": 44024, + "id": 45112, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4190:6:26", + "src": "4190:6:30", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1215,21 +1216,21 @@ "visibility": "internal" } ], - "src": "4129:93:26" + "src": "4129:93:30" }, "returnParameters": { - "id": 44029, + "id": 45117, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44028, + "id": 45116, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44038, - "src": "4241:12:26", + "scope": 45126, + "src": "4241:12:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1237,10 +1238,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44027, + "id": 45115, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4241:5:26", + "src": "4241:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1249,58 +1250,58 @@ "visibility": "internal" } ], - "src": "4240:14:26" + "src": "4240:14:30" }, - "scope": 44278, + "scope": 45366, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 44058, + "id": 45146, "nodeType": "FunctionDefinition", - "src": "4693:224:26", + "src": "4693:224:30", "nodes": [], "body": { - "id": 44057, + "id": 45145, "nodeType": "Block", - "src": "4806:111:26", + "src": "4806:111:30", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 44051, + "id": 45139, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44041, - "src": "4845:6:26", + "referencedDeclaration": 45129, + "src": "4845:6:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 44052, + "id": 45140, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44043, - "src": "4853:4:26", + "referencedDeclaration": 45131, + "src": "4853:4:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 44053, + "id": 45141, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44045, - "src": "4859:5:26", + "referencedDeclaration": 45133, + "src": "4859:5:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1308,14 +1309,14 @@ }, { "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", - "id": 44054, + "id": 45142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4866:43:26", + "src": "4866:43:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", "typeString": "literal_string \"Address: low-level call with value failed\"" @@ -1342,21 +1343,21 @@ "typeString": "literal_string \"Address: low-level call with value failed\"" } ], - "id": 44050, + "id": 45138, "name": "functionCallWithValue", "nodeType": "Identifier", "overloadedDeclarations": [ - 44058, - 44102 + 45146, + 45190 ], - "referencedDeclaration": 44102, - "src": "4823:21:26", + "referencedDeclaration": 45190, + "src": "4823:21:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" } }, - "id": 44055, + "id": 45143, "isConstant": false, "isLValue": false, "isPure": false, @@ -1365,44 +1366,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4823:87:26", + "src": "4823:87:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 44049, - "id": 44056, + "functionReturnParameters": 45137, + "id": 45144, "nodeType": "Return", - "src": "4816:94:26" + "src": "4816:94:30" } ] }, "documentation": { - "id": 44039, + "id": 45127, "nodeType": "StructuredDocumentation", - "src": "4337:351:26", + "src": "4337:351:30", "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`.\n _Available since v3.1._" }, "implemented": true, "kind": "function", "modifiers": [], "name": "functionCallWithValue", - "nameLocation": "4702:21:26", + "nameLocation": "4702:21:30", "parameters": { - "id": 44046, + "id": 45134, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44041, + "id": 45129, "mutability": "mutable", "name": "target", - "nameLocation": "4732:6:26", + "nameLocation": "4732:6:30", "nodeType": "VariableDeclaration", - "scope": 44058, - "src": "4724:14:26", + "scope": 45146, + "src": "4724:14:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1410,10 +1411,10 @@ "typeString": "address" }, "typeName": { - "id": 44040, + "id": 45128, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4724:7:26", + "src": "4724:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1424,13 +1425,13 @@ }, { "constant": false, - "id": 44043, + "id": 45131, "mutability": "mutable", "name": "data", - "nameLocation": "4753:4:26", + "nameLocation": "4753:4:30", "nodeType": "VariableDeclaration", - "scope": 44058, - "src": "4740:17:26", + "scope": 45146, + "src": "4740:17:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1438,10 +1439,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44042, + "id": 45130, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4740:5:26", + "src": "4740:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1451,13 +1452,13 @@ }, { "constant": false, - "id": 44045, + "id": 45133, "mutability": "mutable", "name": "value", - "nameLocation": "4767:5:26", + "nameLocation": "4767:5:30", "nodeType": "VariableDeclaration", - "scope": 44058, - "src": "4759:13:26", + "scope": 45146, + "src": "4759:13:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1465,10 +1466,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44044, + "id": 45132, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4759:7:26", + "src": "4759:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1477,21 +1478,21 @@ "visibility": "internal" } ], - "src": "4723:50:26" + "src": "4723:50:30" }, "returnParameters": { - "id": 44049, + "id": 45137, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44048, + "id": 45136, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44058, - "src": "4792:12:26", + "scope": 45146, + "src": "4792:12:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1499,10 +1500,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44047, + "id": 45135, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4792:5:26", + "src": "4792:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1511,22 +1512,22 @@ "visibility": "internal" } ], - "src": "4791:14:26" + "src": "4791:14:30" }, - "scope": 44278, + "scope": 45366, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 44102, + "id": 45190, "nodeType": "FunctionDefinition", - "src": "5165:446:26", + "src": "5165:446:30", "nodes": [], "body": { - "id": 44101, + "id": 45189, "nodeType": "Block", - "src": "5344:267:26", + "src": "5344:267:30", "nodes": [], "statements": [ { @@ -1537,7 +1538,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44079, + "id": 45167, "isConstant": false, "isLValue": false, "isPure": false, @@ -1546,14 +1547,14 @@ "expression": { "arguments": [ { - "id": 44075, + "id": 45163, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "5370:4:26", + "src": "5370:4:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$44278", + "typeIdentifier": "t_contract$_Address_$45366", "typeString": "library Address" } } @@ -1561,30 +1562,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Address_$44278", + "typeIdentifier": "t_contract$_Address_$45366", "typeString": "library Address" } ], - "id": 44074, + "id": 45162, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5362:7:26", + "src": "5362:7:30", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 44073, + "id": 45161, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5362:7:26", + "src": "5362:7:30", "typeDescriptions": {} } }, - "id": 44076, + "id": 45164, "isConstant": false, "isLValue": false, "isPure": false, @@ -1593,22 +1594,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5362:13:26", + "src": "5362:13:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 44077, + "id": 45165, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "5376:7:26", + "memberLocation": "5376:7:30", "memberName": "balance", "nodeType": "MemberAccess", - "src": "5362:21:26", + "src": "5362:21:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1617,18 +1618,18 @@ "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { - "id": 44078, + "id": 45166, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44065, - "src": "5387:5:26", + "referencedDeclaration": 45153, + "src": "5387:5:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5362:30:26", + "src": "5362:30:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1636,14 +1637,14 @@ }, { "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", - "id": 44080, + "id": 45168, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5394:40:26", + "src": "5394:40:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", "typeString": "literal_string \"Address: insufficient balance for call\"" @@ -1662,7 +1663,7 @@ "typeString": "literal_string \"Address: insufficient balance for call\"" } ], - "id": 44072, + "id": 45160, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1670,13 +1671,13 @@ -18 ], "referencedDeclaration": -18, - "src": "5354:7:26", + "src": "5354:7:30", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 44081, + "id": 45169, "isConstant": false, "isLValue": false, "isPure": false, @@ -1685,32 +1686,32 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5354:81:26", + "src": "5354:81:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 44082, + "id": 45170, "nodeType": "ExpressionStatement", - "src": "5354:81:26" + "src": "5354:81:30" }, { "assignments": [ - 44084, - 44086 + 45172, + 45174 ], "declarations": [ { "constant": false, - "id": 44084, + "id": 45172, "mutability": "mutable", "name": "success", - "nameLocation": "5451:7:26", + "nameLocation": "5451:7:30", "nodeType": "VariableDeclaration", - "scope": 44101, - "src": "5446:12:26", + "scope": 45189, + "src": "5446:12:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1718,10 +1719,10 @@ "typeString": "bool" }, "typeName": { - "id": 44083, + "id": 45171, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5446:4:26", + "src": "5446:4:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1731,13 +1732,13 @@ }, { "constant": false, - "id": 44086, + "id": 45174, "mutability": "mutable", "name": "returndata", - "nameLocation": "5473:10:26", + "nameLocation": "5473:10:30", "nodeType": "VariableDeclaration", - "scope": 44101, - "src": "5460:23:26", + "scope": 45189, + "src": "5460:23:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1745,10 +1746,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44085, + "id": 45173, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5460:5:26", + "src": "5460:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1757,16 +1758,16 @@ "visibility": "internal" } ], - "id": 44093, + "id": 45181, "initialValue": { "arguments": [ { - "id": 44091, + "id": 45179, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44063, - "src": "5513:4:26", + "referencedDeclaration": 45151, + "src": "5513:4:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -1788,32 +1789,32 @@ } ], "expression": { - "id": 44087, + "id": 45175, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44061, - "src": "5487:6:26", + "referencedDeclaration": 45149, + "src": "5487:6:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 44088, + "id": 45176, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "5494:4:26", + "memberLocation": "5494:4:30", "memberName": "call", "nodeType": "MemberAccess", - "src": "5487:11:26", + "src": "5487:11:30", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 44090, + "id": 45178, "isConstant": false, "isLValue": false, "isPure": false, @@ -1824,25 +1825,25 @@ "nodeType": "FunctionCallOptions", "options": [ { - "id": 44089, + "id": 45177, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44065, - "src": "5506:5:26", + "referencedDeclaration": 45153, + "src": "5506:5:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "src": "5487:25:26", + "src": "5487:25:30", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 44092, + "id": 45180, "isConstant": false, "isLValue": false, "isPure": false, @@ -1851,7 +1852,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5487:31:26", + "src": "5487:31:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", @@ -1859,54 +1860,54 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "5445:73:26" + "src": "5445:73:30" }, { "expression": { "arguments": [ { - "id": 44095, + "id": 45183, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44061, - "src": "5562:6:26", + "referencedDeclaration": 45149, + "src": "5562:6:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 44096, + "id": 45184, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44084, - "src": "5570:7:26", + "referencedDeclaration": 45172, + "src": "5570:7:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { - "id": 44097, + "id": 45185, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44086, - "src": "5579:10:26", + "referencedDeclaration": 45174, + "src": "5579:10:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 44098, + "id": 45186, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44067, - "src": "5591:12:26", + "referencedDeclaration": 45155, + "src": "5591:12:30", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1932,18 +1933,18 @@ "typeString": "string memory" } ], - "id": 44094, + "id": 45182, "name": "verifyCallResultFromTarget", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44233, - "src": "5535:26:26", + "referencedDeclaration": 45321, + "src": "5535:26:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" } }, - "id": 44099, + "id": 45187, "isConstant": false, "isLValue": false, "isPure": false, @@ -1952,44 +1953,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5535:69:26", + "src": "5535:69:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 44071, - "id": 44100, + "functionReturnParameters": 45159, + "id": 45188, "nodeType": "Return", - "src": "5528:76:26" + "src": "5528:76:30" } ] }, "documentation": { - "id": 44059, + "id": 45147, "nodeType": "StructuredDocumentation", - "src": "4923:237:26", + "src": "4923:237:30", "text": " @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" }, "implemented": true, "kind": "function", "modifiers": [], "name": "functionCallWithValue", - "nameLocation": "5174:21:26", + "nameLocation": "5174:21:30", "parameters": { - "id": 44068, + "id": 45156, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44061, + "id": 45149, "mutability": "mutable", "name": "target", - "nameLocation": "5213:6:26", + "nameLocation": "5213:6:30", "nodeType": "VariableDeclaration", - "scope": 44102, - "src": "5205:14:26", + "scope": 45190, + "src": "5205:14:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1997,10 +1998,10 @@ "typeString": "address" }, "typeName": { - "id": 44060, + "id": 45148, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5205:7:26", + "src": "5205:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2011,13 +2012,13 @@ }, { "constant": false, - "id": 44063, + "id": 45151, "mutability": "mutable", "name": "data", - "nameLocation": "5242:4:26", + "nameLocation": "5242:4:30", "nodeType": "VariableDeclaration", - "scope": 44102, - "src": "5229:17:26", + "scope": 45190, + "src": "5229:17:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2025,10 +2026,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44062, + "id": 45150, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5229:5:26", + "src": "5229:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2038,13 +2039,13 @@ }, { "constant": false, - "id": 44065, + "id": 45153, "mutability": "mutable", "name": "value", - "nameLocation": "5264:5:26", + "nameLocation": "5264:5:30", "nodeType": "VariableDeclaration", - "scope": 44102, - "src": "5256:13:26", + "scope": 45190, + "src": "5256:13:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2052,10 +2053,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44064, + "id": 45152, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5256:7:26", + "src": "5256:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2065,13 +2066,13 @@ }, { "constant": false, - "id": 44067, + "id": 45155, "mutability": "mutable", "name": "errorMessage", - "nameLocation": "5293:12:26", + "nameLocation": "5293:12:30", "nodeType": "VariableDeclaration", - "scope": 44102, - "src": "5279:26:26", + "scope": 45190, + "src": "5279:26:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2079,10 +2080,10 @@ "typeString": "string" }, "typeName": { - "id": 44066, + "id": 45154, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5279:6:26", + "src": "5279:6:30", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2091,21 +2092,21 @@ "visibility": "internal" } ], - "src": "5195:116:26" + "src": "5195:116:30" }, "returnParameters": { - "id": 44071, + "id": 45159, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44070, + "id": 45158, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44102, - "src": "5330:12:26", + "scope": 45190, + "src": "5330:12:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2113,10 +2114,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44069, + "id": 45157, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5330:5:26", + "src": "5330:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2125,46 +2126,46 @@ "visibility": "internal" } ], - "src": "5329:14:26" + "src": "5329:14:30" }, - "scope": 44278, + "scope": 45366, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 44119, + "id": 45207, "nodeType": "FunctionDefinition", - "src": "5788:197:26", + "src": "5788:197:30", "nodes": [], "body": { - "id": 44118, + "id": 45206, "nodeType": "Block", - "src": "5888:97:26", + "src": "5888:97:30", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 44113, + "id": 45201, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44105, - "src": "5924:6:26", + "referencedDeclaration": 45193, + "src": "5924:6:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 44114, + "id": 45202, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44107, - "src": "5932:4:26", + "referencedDeclaration": 45195, + "src": "5932:4:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -2172,14 +2173,14 @@ }, { "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564", - "id": 44115, + "id": 45203, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5938:39:26", + "src": "5938:39:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", "typeString": "literal_string \"Address: low-level static call failed\"" @@ -2202,21 +2203,21 @@ "typeString": "literal_string \"Address: low-level static call failed\"" } ], - "id": 44112, + "id": 45200, "name": "functionStaticCall", "nodeType": "Identifier", "overloadedDeclarations": [ - 44119, - 44148 + 45207, + 45236 ], - "referencedDeclaration": 44148, - "src": "5905:18:26", + "referencedDeclaration": 45236, + "src": "5905:18:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bytes memory,string memory) view returns (bytes memory)" } }, - "id": 44116, + "id": 45204, "isConstant": false, "isLValue": false, "isPure": false, @@ -2225,44 +2226,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5905:73:26", + "src": "5905:73:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 44111, - "id": 44117, + "functionReturnParameters": 45199, + "id": 45205, "nodeType": "Return", - "src": "5898:80:26" + "src": "5898:80:30" } ] }, "documentation": { - "id": 44103, + "id": 45191, "nodeType": "StructuredDocumentation", - "src": "5617:166:26", + "src": "5617:166:30", "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" }, "implemented": true, "kind": "function", "modifiers": [], "name": "functionStaticCall", - "nameLocation": "5797:18:26", + "nameLocation": "5797:18:30", "parameters": { - "id": 44108, + "id": 45196, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44105, + "id": 45193, "mutability": "mutable", "name": "target", - "nameLocation": "5824:6:26", + "nameLocation": "5824:6:30", "nodeType": "VariableDeclaration", - "scope": 44119, - "src": "5816:14:26", + "scope": 45207, + "src": "5816:14:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2270,10 +2271,10 @@ "typeString": "address" }, "typeName": { - "id": 44104, + "id": 45192, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5816:7:26", + "src": "5816:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2284,13 +2285,13 @@ }, { "constant": false, - "id": 44107, + "id": 45195, "mutability": "mutable", "name": "data", - "nameLocation": "5845:4:26", + "nameLocation": "5845:4:30", "nodeType": "VariableDeclaration", - "scope": 44119, - "src": "5832:17:26", + "scope": 45207, + "src": "5832:17:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2298,10 +2299,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44106, + "id": 45194, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5832:5:26", + "src": "5832:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2310,21 +2311,21 @@ "visibility": "internal" } ], - "src": "5815:35:26" + "src": "5815:35:30" }, "returnParameters": { - "id": 44111, + "id": 45199, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44110, + "id": 45198, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44119, - "src": "5874:12:26", + "scope": 45207, + "src": "5874:12:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2332,10 +2333,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44109, + "id": 45197, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5874:5:26", + "src": "5874:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2344,39 +2345,39 @@ "visibility": "internal" } ], - "src": "5873:14:26" + "src": "5873:14:30" }, - "scope": 44278, + "scope": 45366, "stateMutability": "view", "virtual": false, "visibility": "internal" }, { - "id": 44148, + "id": 45236, "nodeType": "FunctionDefinition", - "src": "6169:326:26", + "src": "6169:326:30", "nodes": [], "body": { - "id": 44147, + "id": 45235, "nodeType": "Block", - "src": "6327:168:26", + "src": "6327:168:30", "nodes": [], "statements": [ { "assignments": [ - 44132, - 44134 + 45220, + 45222 ], "declarations": [ { "constant": false, - "id": 44132, + "id": 45220, "mutability": "mutable", "name": "success", - "nameLocation": "6343:7:26", + "nameLocation": "6343:7:30", "nodeType": "VariableDeclaration", - "scope": 44147, - "src": "6338:12:26", + "scope": 45235, + "src": "6338:12:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2384,10 +2385,10 @@ "typeString": "bool" }, "typeName": { - "id": 44131, + "id": 45219, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6338:4:26", + "src": "6338:4:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2397,13 +2398,13 @@ }, { "constant": false, - "id": 44134, + "id": 45222, "mutability": "mutable", "name": "returndata", - "nameLocation": "6365:10:26", + "nameLocation": "6365:10:30", "nodeType": "VariableDeclaration", - "scope": 44147, - "src": "6352:23:26", + "scope": 45235, + "src": "6352:23:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2411,10 +2412,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44133, + "id": 45221, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6352:5:26", + "src": "6352:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2423,16 +2424,16 @@ "visibility": "internal" } ], - "id": 44139, + "id": 45227, "initialValue": { "arguments": [ { - "id": 44137, + "id": 45225, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44124, - "src": "6397:4:26", + "referencedDeclaration": 45212, + "src": "6397:4:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -2447,32 +2448,32 @@ } ], "expression": { - "id": 44135, + "id": 45223, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44122, - "src": "6379:6:26", + "referencedDeclaration": 45210, + "src": "6379:6:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 44136, + "id": 45224, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "6386:10:26", + "memberLocation": "6386:10:30", "memberName": "staticcall", "nodeType": "MemberAccess", - "src": "6379:17:26", + "src": "6379:17:30", "typeDescriptions": { "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) view returns (bool,bytes memory)" } }, - "id": 44138, + "id": 45226, "isConstant": false, "isLValue": false, "isPure": false, @@ -2481,7 +2482,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6379:23:26", + "src": "6379:23:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", @@ -2489,54 +2490,54 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "6337:65:26" + "src": "6337:65:30" }, { "expression": { "arguments": [ { - "id": 44141, + "id": 45229, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44122, - "src": "6446:6:26", + "referencedDeclaration": 45210, + "src": "6446:6:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 44142, + "id": 45230, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44132, - "src": "6454:7:26", + "referencedDeclaration": 45220, + "src": "6454:7:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { - "id": 44143, + "id": 45231, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44134, - "src": "6463:10:26", + "referencedDeclaration": 45222, + "src": "6463:10:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 44144, + "id": 45232, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44126, - "src": "6475:12:26", + "referencedDeclaration": 45214, + "src": "6475:12:30", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2562,18 +2563,18 @@ "typeString": "string memory" } ], - "id": 44140, + "id": 45228, "name": "verifyCallResultFromTarget", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44233, - "src": "6419:26:26", + "referencedDeclaration": 45321, + "src": "6419:26:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" } }, - "id": 44145, + "id": 45233, "isConstant": false, "isLValue": false, "isPure": false, @@ -2582,44 +2583,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6419:69:26", + "src": "6419:69:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 44130, - "id": 44146, + "functionReturnParameters": 45218, + "id": 45234, "nodeType": "Return", - "src": "6412:76:26" + "src": "6412:76:30" } ] }, "documentation": { - "id": 44120, + "id": 45208, "nodeType": "StructuredDocumentation", - "src": "5991:173:26", + "src": "5991:173:30", "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" }, "implemented": true, "kind": "function", "modifiers": [], "name": "functionStaticCall", - "nameLocation": "6178:18:26", + "nameLocation": "6178:18:30", "parameters": { - "id": 44127, + "id": 45215, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44122, + "id": 45210, "mutability": "mutable", "name": "target", - "nameLocation": "6214:6:26", + "nameLocation": "6214:6:30", "nodeType": "VariableDeclaration", - "scope": 44148, - "src": "6206:14:26", + "scope": 45236, + "src": "6206:14:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2627,10 +2628,10 @@ "typeString": "address" }, "typeName": { - "id": 44121, + "id": 45209, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6206:7:26", + "src": "6206:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2641,13 +2642,13 @@ }, { "constant": false, - "id": 44124, + "id": 45212, "mutability": "mutable", "name": "data", - "nameLocation": "6243:4:26", + "nameLocation": "6243:4:30", "nodeType": "VariableDeclaration", - "scope": 44148, - "src": "6230:17:26", + "scope": 45236, + "src": "6230:17:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2655,10 +2656,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44123, + "id": 45211, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6230:5:26", + "src": "6230:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2668,13 +2669,13 @@ }, { "constant": false, - "id": 44126, + "id": 45214, "mutability": "mutable", "name": "errorMessage", - "nameLocation": "6271:12:26", + "nameLocation": "6271:12:30", "nodeType": "VariableDeclaration", - "scope": 44148, - "src": "6257:26:26", + "scope": 45236, + "src": "6257:26:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2682,10 +2683,10 @@ "typeString": "string" }, "typeName": { - "id": 44125, + "id": 45213, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6257:6:26", + "src": "6257:6:30", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2694,21 +2695,21 @@ "visibility": "internal" } ], - "src": "6196:93:26" + "src": "6196:93:30" }, "returnParameters": { - "id": 44130, + "id": 45218, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44129, + "id": 45217, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44148, - "src": "6313:12:26", + "scope": 45236, + "src": "6313:12:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2716,10 +2717,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44128, + "id": 45216, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6313:5:26", + "src": "6313:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2728,46 +2729,46 @@ "visibility": "internal" } ], - "src": "6312:14:26" + "src": "6312:14:30" }, - "scope": 44278, + "scope": 45366, "stateMutability": "view", "virtual": false, "visibility": "internal" }, { - "id": 44165, + "id": 45253, "nodeType": "FunctionDefinition", - "src": "6674:198:26", + "src": "6674:198:30", "nodes": [], "body": { - "id": 44164, + "id": 45252, "nodeType": "Block", - "src": "6771:101:26", + "src": "6771:101:30", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 44159, + "id": 45247, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44151, - "src": "6809:6:26", + "referencedDeclaration": 45239, + "src": "6809:6:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 44160, + "id": 45248, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44153, - "src": "6817:4:26", + "referencedDeclaration": 45241, + "src": "6817:4:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -2775,14 +2776,14 @@ }, { "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "id": 44161, + "id": 45249, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6823:41:26", + "src": "6823:41:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", "typeString": "literal_string \"Address: low-level delegate call failed\"" @@ -2805,21 +2806,21 @@ "typeString": "literal_string \"Address: low-level delegate call failed\"" } ], - "id": 44158, + "id": 45246, "name": "functionDelegateCall", "nodeType": "Identifier", "overloadedDeclarations": [ - 44165, - 44194 + 45253, + 45282 ], - "referencedDeclaration": 44194, - "src": "6788:20:26", + "referencedDeclaration": 45282, + "src": "6788:20:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" } }, - "id": 44162, + "id": 45250, "isConstant": false, "isLValue": false, "isPure": false, @@ -2828,44 +2829,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6788:77:26", + "src": "6788:77:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 44157, - "id": 44163, + "functionReturnParameters": 45245, + "id": 45251, "nodeType": "Return", - "src": "6781:84:26" + "src": "6781:84:30" } ] }, "documentation": { - "id": 44149, + "id": 45237, "nodeType": "StructuredDocumentation", - "src": "6501:168:26", + "src": "6501:168:30", "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" }, "implemented": true, "kind": "function", "modifiers": [], "name": "functionDelegateCall", - "nameLocation": "6683:20:26", + "nameLocation": "6683:20:30", "parameters": { - "id": 44154, + "id": 45242, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44151, + "id": 45239, "mutability": "mutable", "name": "target", - "nameLocation": "6712:6:26", + "nameLocation": "6712:6:30", "nodeType": "VariableDeclaration", - "scope": 44165, - "src": "6704:14:26", + "scope": 45253, + "src": "6704:14:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2873,10 +2874,10 @@ "typeString": "address" }, "typeName": { - "id": 44150, + "id": 45238, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6704:7:26", + "src": "6704:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2887,13 +2888,13 @@ }, { "constant": false, - "id": 44153, + "id": 45241, "mutability": "mutable", "name": "data", - "nameLocation": "6733:4:26", + "nameLocation": "6733:4:30", "nodeType": "VariableDeclaration", - "scope": 44165, - "src": "6720:17:26", + "scope": 45253, + "src": "6720:17:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2901,10 +2902,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44152, + "id": 45240, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6720:5:26", + "src": "6720:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2913,21 +2914,21 @@ "visibility": "internal" } ], - "src": "6703:35:26" + "src": "6703:35:30" }, "returnParameters": { - "id": 44157, + "id": 45245, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44156, + "id": 45244, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44165, - "src": "6757:12:26", + "scope": 45253, + "src": "6757:12:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2935,10 +2936,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44155, + "id": 45243, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6757:5:26", + "src": "6757:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2947,39 +2948,39 @@ "visibility": "internal" } ], - "src": "6756:14:26" + "src": "6756:14:30" }, - "scope": 44278, + "scope": 45366, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 44194, + "id": 45282, "nodeType": "FunctionDefinition", - "src": "7058:325:26", + "src": "7058:325:30", "nodes": [], "body": { - "id": 44193, + "id": 45281, "nodeType": "Block", - "src": "7213:170:26", + "src": "7213:170:30", "nodes": [], "statements": [ { "assignments": [ - 44178, - 44180 + 45266, + 45268 ], "declarations": [ { "constant": false, - "id": 44178, + "id": 45266, "mutability": "mutable", "name": "success", - "nameLocation": "7229:7:26", + "nameLocation": "7229:7:30", "nodeType": "VariableDeclaration", - "scope": 44193, - "src": "7224:12:26", + "scope": 45281, + "src": "7224:12:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2987,10 +2988,10 @@ "typeString": "bool" }, "typeName": { - "id": 44177, + "id": 45265, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7224:4:26", + "src": "7224:4:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3000,13 +3001,13 @@ }, { "constant": false, - "id": 44180, + "id": 45268, "mutability": "mutable", "name": "returndata", - "nameLocation": "7251:10:26", + "nameLocation": "7251:10:30", "nodeType": "VariableDeclaration", - "scope": 44193, - "src": "7238:23:26", + "scope": 45281, + "src": "7238:23:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3014,10 +3015,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44179, + "id": 45267, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7238:5:26", + "src": "7238:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3026,16 +3027,16 @@ "visibility": "internal" } ], - "id": 44185, + "id": 45273, "initialValue": { "arguments": [ { - "id": 44183, + "id": 45271, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44170, - "src": "7285:4:26", + "referencedDeclaration": 45258, + "src": "7285:4:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -3050,32 +3051,32 @@ } ], "expression": { - "id": 44181, + "id": 45269, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44168, - "src": "7265:6:26", + "referencedDeclaration": 45256, + "src": "7265:6:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 44182, + "id": 45270, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7272:12:26", + "memberLocation": "7272:12:30", "memberName": "delegatecall", "nodeType": "MemberAccess", - "src": "7265:19:26", + "src": "7265:19:30", "typeDescriptions": { "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) returns (bool,bytes memory)" } }, - "id": 44184, + "id": 45272, "isConstant": false, "isLValue": false, "isPure": false, @@ -3084,7 +3085,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7265:25:26", + "src": "7265:25:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", @@ -3092,54 +3093,54 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "7223:67:26" + "src": "7223:67:30" }, { "expression": { "arguments": [ { - "id": 44187, + "id": 45275, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44168, - "src": "7334:6:26", + "referencedDeclaration": 45256, + "src": "7334:6:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 44188, + "id": 45276, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44178, - "src": "7342:7:26", + "referencedDeclaration": 45266, + "src": "7342:7:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { - "id": 44189, + "id": 45277, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44180, - "src": "7351:10:26", + "referencedDeclaration": 45268, + "src": "7351:10:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 44190, + "id": 45278, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44172, - "src": "7363:12:26", + "referencedDeclaration": 45260, + "src": "7363:12:30", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3165,18 +3166,18 @@ "typeString": "string memory" } ], - "id": 44186, + "id": 45274, "name": "verifyCallResultFromTarget", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44233, - "src": "7307:26:26", + "referencedDeclaration": 45321, + "src": "7307:26:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" } }, - "id": 44191, + "id": 45279, "isConstant": false, "isLValue": false, "isPure": false, @@ -3185,44 +3186,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7307:69:26", + "src": "7307:69:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 44176, - "id": 44192, + "functionReturnParameters": 45264, + "id": 45280, "nodeType": "Return", - "src": "7300:76:26" + "src": "7300:76:30" } ] }, "documentation": { - "id": 44166, + "id": 45254, "nodeType": "StructuredDocumentation", - "src": "6878:175:26", + "src": "6878:175:30", "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" }, "implemented": true, "kind": "function", "modifiers": [], "name": "functionDelegateCall", - "nameLocation": "7067:20:26", + "nameLocation": "7067:20:30", "parameters": { - "id": 44173, + "id": 45261, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44168, + "id": 45256, "mutability": "mutable", "name": "target", - "nameLocation": "7105:6:26", + "nameLocation": "7105:6:30", "nodeType": "VariableDeclaration", - "scope": 44194, - "src": "7097:14:26", + "scope": 45282, + "src": "7097:14:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3230,10 +3231,10 @@ "typeString": "address" }, "typeName": { - "id": 44167, + "id": 45255, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7097:7:26", + "src": "7097:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3244,13 +3245,13 @@ }, { "constant": false, - "id": 44170, + "id": 45258, "mutability": "mutable", "name": "data", - "nameLocation": "7134:4:26", + "nameLocation": "7134:4:30", "nodeType": "VariableDeclaration", - "scope": 44194, - "src": "7121:17:26", + "scope": 45282, + "src": "7121:17:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3258,10 +3259,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44169, + "id": 45257, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7121:5:26", + "src": "7121:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3271,13 +3272,13 @@ }, { "constant": false, - "id": 44172, + "id": 45260, "mutability": "mutable", "name": "errorMessage", - "nameLocation": "7162:12:26", + "nameLocation": "7162:12:30", "nodeType": "VariableDeclaration", - "scope": 44194, - "src": "7148:26:26", + "scope": 45282, + "src": "7148:26:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3285,10 +3286,10 @@ "typeString": "string" }, "typeName": { - "id": 44171, + "id": 45259, "name": "string", "nodeType": "ElementaryTypeName", - "src": "7148:6:26", + "src": "7148:6:30", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -3297,21 +3298,21 @@ "visibility": "internal" } ], - "src": "7087:93:26" + "src": "7087:93:30" }, "returnParameters": { - "id": 44176, + "id": 45264, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44175, + "id": 45263, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44194, - "src": "7199:12:26", + "scope": 45282, + "src": "7199:12:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3319,10 +3320,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44174, + "id": 45262, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7199:5:26", + "src": "7199:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3331,64 +3332,64 @@ "visibility": "internal" } ], - "src": "7198:14:26" + "src": "7198:14:30" }, - "scope": 44278, + "scope": 45366, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 44233, + "id": 45321, "nodeType": "FunctionDefinition", - "src": "7671:628:26", + "src": "7671:628:30", "nodes": [], "body": { - "id": 44232, + "id": 45320, "nodeType": "Block", - "src": "7865:434:26", + "src": "7865:434:30", "nodes": [], "statements": [ { "condition": { - "id": 44208, + "id": 45296, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44199, - "src": "7879:7:26", + "referencedDeclaration": 45287, + "src": "7879:7:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 44230, + "id": 45318, "nodeType": "Block", - "src": "8235:58:26", + "src": "8235:58:30", "statements": [ { "expression": { "arguments": [ { - "id": 44226, + "id": 45314, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44201, - "src": "8257:10:26", + "referencedDeclaration": 45289, + "src": "8257:10:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 44227, + "id": 45315, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44203, - "src": "8269:12:26", + "referencedDeclaration": 45291, + "src": "8269:12:30", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3406,18 +3407,18 @@ "typeString": "string memory" } ], - "id": 44225, + "id": 45313, "name": "_revert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44277, - "src": "8249:7:26", + "referencedDeclaration": 45365, + "src": "8249:7:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bytes memory,string memory) pure" } }, - "id": 44228, + "id": 45316, "isConstant": false, "isLValue": false, "isPure": false, @@ -3426,26 +3427,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8249:33:26", + "src": "8249:33:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 44229, + "id": 45317, "nodeType": "ExpressionStatement", - "src": "8249:33:26" + "src": "8249:33:30" } ] }, - "id": 44231, + "id": 45319, "nodeType": "IfStatement", - "src": "7875:418:26", + "src": "7875:418:30", "trueBody": { - "id": 44224, + "id": 45312, "nodeType": "Block", - "src": "7888:341:26", + "src": "7888:341:30", "statements": [ { "condition": { @@ -3453,33 +3454,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44212, + "id": 45300, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 44209, + "id": 45297, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44201, - "src": "7906:10:26", + "referencedDeclaration": 45289, + "src": "7906:10:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 44210, + "id": 45298, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7917:6:26", + "memberLocation": "7917:6:30", "memberName": "length", "nodeType": "MemberAccess", - "src": "7906:17:26", + "src": "7906:17:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3489,33 +3490,33 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 44211, + "id": 45299, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7927:1:26", + "src": "7927:1:30", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "7906:22:26", + "src": "7906:22:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 44221, + "id": 45309, "nodeType": "IfStatement", - "src": "7902:286:26", + "src": "7902:286:30", "trueBody": { - "id": 44220, + "id": 45308, "nodeType": "Block", - "src": "7930:258:26", + "src": "7930:258:30", "statements": [ { "expression": { @@ -3523,12 +3524,12 @@ { "arguments": [ { - "id": 44215, + "id": 45303, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44197, - "src": "8132:6:26", + "referencedDeclaration": 45285, + "src": "8132:6:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3542,18 +3543,18 @@ "typeString": "address" } ], - "id": 44214, + "id": 45302, "name": "isContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 43966, - "src": "8121:10:26", + "referencedDeclaration": 45054, + "src": "8121:10:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, - "id": 44216, + "id": 45304, "isConstant": false, "isLValue": false, "isPure": false, @@ -3562,7 +3563,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8121:18:26", + "src": "8121:18:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3571,14 +3572,14 @@ }, { "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 44217, + "id": 45305, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8141:31:26", + "src": "8141:31:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", "typeString": "literal_string \"Address: call to non-contract\"" @@ -3597,7 +3598,7 @@ "typeString": "literal_string \"Address: call to non-contract\"" } ], - "id": 44213, + "id": 45301, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3605,13 +3606,13 @@ -18 ], "referencedDeclaration": -18, - "src": "8113:7:26", + "src": "8113:7:30", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 44218, + "id": 45306, "isConstant": false, "isLValue": false, "isPure": false, @@ -3620,37 +3621,37 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8113:60:26", + "src": "8113:60:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 44219, + "id": 45307, "nodeType": "ExpressionStatement", - "src": "8113:60:26" + "src": "8113:60:30" } ] } }, { "expression": { - "id": 44222, + "id": 45310, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44201, - "src": "8208:10:26", + "referencedDeclaration": 45289, + "src": "8208:10:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 44207, - "id": 44223, + "functionReturnParameters": 45295, + "id": 45311, "nodeType": "Return", - "src": "8201:17:26" + "src": "8201:17:30" } ] } @@ -3658,29 +3659,29 @@ ] }, "documentation": { - "id": 44195, + "id": 45283, "nodeType": "StructuredDocumentation", - "src": "7389:277:26", + "src": "7389:277:30", "text": " @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n _Available since v4.8._" }, "implemented": true, "kind": "function", "modifiers": [], "name": "verifyCallResultFromTarget", - "nameLocation": "7680:26:26", + "nameLocation": "7680:26:30", "parameters": { - "id": 44204, + "id": 45292, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44197, + "id": 45285, "mutability": "mutable", "name": "target", - "nameLocation": "7724:6:26", + "nameLocation": "7724:6:30", "nodeType": "VariableDeclaration", - "scope": 44233, - "src": "7716:14:26", + "scope": 45321, + "src": "7716:14:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3688,10 +3689,10 @@ "typeString": "address" }, "typeName": { - "id": 44196, + "id": 45284, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7716:7:26", + "src": "7716:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3702,13 +3703,13 @@ }, { "constant": false, - "id": 44199, + "id": 45287, "mutability": "mutable", "name": "success", - "nameLocation": "7745:7:26", + "nameLocation": "7745:7:30", "nodeType": "VariableDeclaration", - "scope": 44233, - "src": "7740:12:26", + "scope": 45321, + "src": "7740:12:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3716,10 +3717,10 @@ "typeString": "bool" }, "typeName": { - "id": 44198, + "id": 45286, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7740:4:26", + "src": "7740:4:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3729,13 +3730,13 @@ }, { "constant": false, - "id": 44201, + "id": 45289, "mutability": "mutable", "name": "returndata", - "nameLocation": "7775:10:26", + "nameLocation": "7775:10:30", "nodeType": "VariableDeclaration", - "scope": 44233, - "src": "7762:23:26", + "scope": 45321, + "src": "7762:23:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3743,10 +3744,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44200, + "id": 45288, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7762:5:26", + "src": "7762:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3756,13 +3757,13 @@ }, { "constant": false, - "id": 44203, + "id": 45291, "mutability": "mutable", "name": "errorMessage", - "nameLocation": "7809:12:26", + "nameLocation": "7809:12:30", "nodeType": "VariableDeclaration", - "scope": 44233, - "src": "7795:26:26", + "scope": 45321, + "src": "7795:26:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3770,10 +3771,10 @@ "typeString": "string" }, "typeName": { - "id": 44202, + "id": 45290, "name": "string", "nodeType": "ElementaryTypeName", - "src": "7795:6:26", + "src": "7795:6:30", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -3782,21 +3783,21 @@ "visibility": "internal" } ], - "src": "7706:121:26" + "src": "7706:121:30" }, "returnParameters": { - "id": 44207, + "id": 45295, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44206, + "id": 45294, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44233, - "src": "7851:12:26", + "scope": 45321, + "src": "7851:12:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3804,10 +3805,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44205, + "id": 45293, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7851:5:26", + "src": "7851:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3816,64 +3817,64 @@ "visibility": "internal" } ], - "src": "7850:14:26" + "src": "7850:14:30" }, - "scope": 44278, + "scope": 45366, "stateMutability": "view", "virtual": false, "visibility": "internal" }, { - "id": 44257, + "id": 45345, "nodeType": "FunctionDefinition", - "src": "8520:295:26", + "src": "8520:295:30", "nodes": [], "body": { - "id": 44256, + "id": 45344, "nodeType": "Block", - "src": "8680:135:26", + "src": "8680:135:30", "nodes": [], "statements": [ { "condition": { - "id": 44245, + "id": 45333, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44236, - "src": "8694:7:26", + "referencedDeclaration": 45324, + "src": "8694:7:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 44254, + "id": 45342, "nodeType": "Block", - "src": "8751:58:26", + "src": "8751:58:30", "statements": [ { "expression": { "arguments": [ { - "id": 44250, + "id": 45338, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44238, - "src": "8773:10:26", + "referencedDeclaration": 45326, + "src": "8773:10:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 44251, + "id": 45339, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44240, - "src": "8785:12:26", + "referencedDeclaration": 45328, + "src": "8785:12:30", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3891,18 +3892,18 @@ "typeString": "string memory" } ], - "id": 44249, + "id": 45337, "name": "_revert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44277, - "src": "8765:7:26", + "referencedDeclaration": 45365, + "src": "8765:7:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bytes memory,string memory) pure" } }, - "id": 44252, + "id": 45340, "isConstant": false, "isLValue": false, "isPure": false, @@ -3911,44 +3912,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8765:33:26", + "src": "8765:33:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 44253, + "id": 45341, "nodeType": "ExpressionStatement", - "src": "8765:33:26" + "src": "8765:33:30" } ] }, - "id": 44255, + "id": 45343, "nodeType": "IfStatement", - "src": "8690:119:26", + "src": "8690:119:30", "trueBody": { - "id": 44248, + "id": 45336, "nodeType": "Block", - "src": "8703:42:26", + "src": "8703:42:30", "statements": [ { "expression": { - "id": 44246, + "id": 45334, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44238, - "src": "8724:10:26", + "referencedDeclaration": 45326, + "src": "8724:10:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 44244, - "id": 44247, + "functionReturnParameters": 45332, + "id": 45335, "nodeType": "Return", - "src": "8717:17:26" + "src": "8717:17:30" } ] } @@ -3956,29 +3957,29 @@ ] }, "documentation": { - "id": 44234, + "id": 45322, "nodeType": "StructuredDocumentation", - "src": "8305:210:26", + "src": "8305:210:30", "text": " @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n revert reason or using the provided one.\n _Available since v4.3._" }, "implemented": true, "kind": "function", "modifiers": [], "name": "verifyCallResult", - "nameLocation": "8529:16:26", + "nameLocation": "8529:16:30", "parameters": { - "id": 44241, + "id": 45329, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44236, + "id": 45324, "mutability": "mutable", "name": "success", - "nameLocation": "8560:7:26", + "nameLocation": "8560:7:30", "nodeType": "VariableDeclaration", - "scope": 44257, - "src": "8555:12:26", + "scope": 45345, + "src": "8555:12:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3986,10 +3987,10 @@ "typeString": "bool" }, "typeName": { - "id": 44235, + "id": 45323, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8555:4:26", + "src": "8555:4:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3999,13 +4000,13 @@ }, { "constant": false, - "id": 44238, + "id": 45326, "mutability": "mutable", "name": "returndata", - "nameLocation": "8590:10:26", + "nameLocation": "8590:10:30", "nodeType": "VariableDeclaration", - "scope": 44257, - "src": "8577:23:26", + "scope": 45345, + "src": "8577:23:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4013,10 +4014,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44237, + "id": 45325, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8577:5:26", + "src": "8577:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4026,13 +4027,13 @@ }, { "constant": false, - "id": 44240, + "id": 45328, "mutability": "mutable", "name": "errorMessage", - "nameLocation": "8624:12:26", + "nameLocation": "8624:12:30", "nodeType": "VariableDeclaration", - "scope": 44257, - "src": "8610:26:26", + "scope": 45345, + "src": "8610:26:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4040,10 +4041,10 @@ "typeString": "string" }, "typeName": { - "id": 44239, + "id": 45327, "name": "string", "nodeType": "ElementaryTypeName", - "src": "8610:6:26", + "src": "8610:6:30", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4052,21 +4053,21 @@ "visibility": "internal" } ], - "src": "8545:97:26" + "src": "8545:97:30" }, "returnParameters": { - "id": 44244, + "id": 45332, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44243, + "id": 45331, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44257, - "src": "8666:12:26", + "scope": 45345, + "src": "8666:12:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4074,10 +4075,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44242, + "id": 45330, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8666:5:26", + "src": "8666:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4086,22 +4087,22 @@ "visibility": "internal" } ], - "src": "8665:14:26" + "src": "8665:14:30" }, - "scope": 44278, + "scope": 45366, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 44277, + "id": 45365, "nodeType": "FunctionDefinition", - "src": "8821:540:26", + "src": "8821:540:30", "nodes": [], "body": { - "id": 44276, + "id": 45364, "nodeType": "Block", - "src": "8904:457:26", + "src": "8904:457:30", "nodes": [], "statements": [ { @@ -4110,33 +4111,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44267, + "id": 45355, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 44264, + "id": 45352, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44259, - "src": "8980:10:26", + "referencedDeclaration": 45347, + "src": "8980:10:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 44265, + "id": 45353, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "8991:6:26", + "memberLocation": "8991:6:30", "memberName": "length", "nodeType": "MemberAccess", - "src": "8980:17:26", + "src": "8980:17:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4146,41 +4147,41 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 44266, + "id": 45354, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9000:1:26", + "src": "9000:1:30", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "8980:21:26", + "src": "8980:21:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 44274, + "id": 45362, "nodeType": "Block", - "src": "9310:45:26", + "src": "9310:45:30", "statements": [ { "expression": { "arguments": [ { - "id": 44271, + "id": 45359, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44261, - "src": "9331:12:26", + "referencedDeclaration": 45349, + "src": "9331:12:30", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4194,7 +4195,7 @@ "typeString": "string memory" } ], - "id": 44270, + "id": 45358, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4202,13 +4203,13 @@ -19 ], "referencedDeclaration": -19, - "src": "9324:6:26", + "src": "9324:6:30", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 44272, + "id": 45360, "isConstant": false, "isLValue": false, "isPure": false, @@ -4217,56 +4218,56 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9324:20:26", + "src": "9324:20:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 44273, + "id": 45361, "nodeType": "ExpressionStatement", - "src": "9324:20:26" + "src": "9324:20:30" } ] }, - "id": 44275, + "id": 45363, "nodeType": "IfStatement", - "src": "8976:379:26", + "src": "8976:379:30", "trueBody": { - "id": 44269, + "id": 45357, "nodeType": "Block", - "src": "9003:301:26", + "src": "9003:301:30", "statements": [ { "AST": { "nodeType": "YulBlock", - "src": "9161:133:26", + "src": "9161:133:30", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "9179:40:26", + "src": "9179:40:30", "value": { "arguments": [ { "name": "returndata", "nodeType": "YulIdentifier", - "src": "9208:10:26" + "src": "9208:10:30" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "9202:5:26" + "src": "9202:5:30" }, "nodeType": "YulFunctionCall", - "src": "9202:17:26" + "src": "9202:17:30" }, "variables": [ { "name": "returndata_size", "nodeType": "YulTypedName", - "src": "9183:15:26", + "src": "9183:15:30", "type": "" } ] @@ -4279,40 +4280,40 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "9247:2:26", + "src": "9247:2:30", "type": "", "value": "32" }, { "name": "returndata", "nodeType": "YulIdentifier", - "src": "9251:10:26" + "src": "9251:10:30" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9243:3:26" + "src": "9243:3:30" }, "nodeType": "YulFunctionCall", - "src": "9243:19:26" + "src": "9243:19:30" }, { "name": "returndata_size", "nodeType": "YulIdentifier", - "src": "9264:15:26" + "src": "9264:15:30" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "9236:6:26" + "src": "9236:6:30" }, "nodeType": "YulFunctionCall", - "src": "9236:44:26" + "src": "9236:44:30" }, "nodeType": "YulExpressionStatement", - "src": "9236:44:26" + "src": "9236:44:30" } ] }, @@ -4320,23 +4321,23 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 44259, + "declaration": 45347, "isOffset": false, "isSlot": false, - "src": "9208:10:26", + "src": "9208:10:30", "valueSize": 1 }, { - "declaration": 44259, + "declaration": 45347, "isOffset": false, "isSlot": false, - "src": "9251:10:26", + "src": "9251:10:30", "valueSize": 1 } ], - "id": 44268, + "id": 45356, "nodeType": "InlineAssembly", - "src": "9152:142:26" + "src": "9152:142:30" } ] } @@ -4347,20 +4348,20 @@ "kind": "function", "modifiers": [], "name": "_revert", - "nameLocation": "8830:7:26", + "nameLocation": "8830:7:30", "parameters": { - "id": 44262, + "id": 45350, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44259, + "id": 45347, "mutability": "mutable", "name": "returndata", - "nameLocation": "8851:10:26", + "nameLocation": "8851:10:30", "nodeType": "VariableDeclaration", - "scope": 44277, - "src": "8838:23:26", + "scope": 45365, + "src": "8838:23:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4368,10 +4369,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44258, + "id": 45346, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8838:5:26", + "src": "8838:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4381,13 +4382,13 @@ }, { "constant": false, - "id": 44261, + "id": 45349, "mutability": "mutable", "name": "errorMessage", - "nameLocation": "8877:12:26", + "nameLocation": "8877:12:30", "nodeType": "VariableDeclaration", - "scope": 44277, - "src": "8863:26:26", + "scope": 45365, + "src": "8863:26:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4395,10 +4396,10 @@ "typeString": "string" }, "typeName": { - "id": 44260, + "id": 45348, "name": "string", "nodeType": "ElementaryTypeName", - "src": "8863:6:26", + "src": "8863:6:30", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4407,15 +4408,15 @@ "visibility": "internal" } ], - "src": "8837:53:26" + "src": "8837:53:30" }, "returnParameters": { - "id": 44263, + "id": 45351, "nodeType": "ParameterList", "parameters": [], - "src": "8904:0:26" + "src": "8904:0:30" }, - "scope": 44278, + "scope": 45366, "stateMutability": "pure", "virtual": false, "visibility": "private" @@ -4427,23 +4428,23 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 43951, + "id": 45039, "nodeType": "StructuredDocumentation", - "src": "126:67:26", + "src": "126:67:30", "text": " @dev Collection of functions related to the address type" }, "fullyImplemented": true, "linearizedBaseContracts": [ - 44278 + 45366 ], "name": "Address", - "nameLocation": "202:7:26", - "scope": 44279, + "nameLocation": "202:7:30", + "scope": 45367, "usedErrors": [], "usedEvents": [] } ], "license": "MIT" }, - "id": 26 + "id": 30 } \ No newline at end of file diff --git a/tests/contract-playground/out/AdminContract.sol/AdminContract.json b/tests/contract-playground/out/AdminContract.sol/AdminContract.json index 3d0c40746..867b25e8e 100644 --- a/tests/contract-playground/out/AdminContract.sol/AdminContract.json +++ b/tests/contract-playground/out/AdminContract.sol/AdminContract.json @@ -80,12 +80,12 @@ ], "bytecode": { "object": "0x608060405234801561001057600080fd5b5061001a33610023565b60018055610073565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6102e9806100826000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806313af40351461005c5780632253cc4914610071578063715018a6146100795780638da5cb5b14610081578063f2fde38b146100a0575b600080fd5b61006f61006a366004610283565b6100b3565b005b61006f6100d8565b61006f6100f3565b600054604080516001600160a01b039092168252519081900360200190f35b61006f6100ae366004610283565b610105565b6100bb610180565b6100c36101da565b6100cc81610233565b6100d560018055565b50565b6100e06101da565b6100e8610180565b6100f160018055565b565b6100fb610180565b6100f16000610233565b61010d610180565b6001600160a01b0381166101775760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6100d581610233565b6000546001600160a01b031633146100f15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161016e565b60026001540361022c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161016e565b6002600155565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561029557600080fd5b81356001600160a01b03811681146102ac57600080fd5b939250505056fea26469706673582212203f086852eb4499ffbe3399ef93a476adaabd394322510fddb20c065e8359c1b564736f6c63430008140033", - "sourceMap": "244:314:36:-:0;;;301:26;;;;;;;;;-1:-1:-1;936:32:20;719:10:26;936:18:20;:32::i;:::-;1716:1:21;1821:22;;244:314:36;;2426:187:20;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:20;;;-1:-1:-1;;;;;;2534:17:20;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;244:314:36:-;;;;;;;", + "sourceMap": "244:314:42:-:0;;;301:26;;;;;;;;;-1:-1:-1;936:32:21;719:10:31;936:18:21;:32::i;:::-;1716:1:22;1821:22;;244:314:42;;2426:187:21;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:21;;;-1:-1:-1;;;;;;2534:17:21;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;244:314:42:-;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806313af40351461005c5780632253cc4914610071578063715018a6146100795780638da5cb5b14610081578063f2fde38b146100a0575b600080fd5b61006f61006a366004610283565b6100b3565b005b61006f6100d8565b61006f6100f3565b600054604080516001600160a01b039092168252519081900360200190f35b61006f6100ae366004610283565b610105565b6100bb610180565b6100c36101da565b6100cc81610233565b6100d560018055565b50565b6100e06101da565b6100e8610180565b6100f160018055565b565b6100fb610180565b6100f16000610233565b61010d610180565b6001600160a01b0381166101775760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6100d581610233565b6000546001600160a01b031633146100f15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161016e565b60026001540361022c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161016e565b6002600155565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561029557600080fd5b81356001600160a01b03811681146102ac57600080fd5b939250505056fea26469706673582212203f086852eb4499ffbe3399ef93a476adaabd394322510fddb20c065e8359c1b564736f6c63430008140033", - "sourceMap": "244:314:36:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;333:109;;;;;;:::i;:::-;;:::i;:::-;;448:108;;;:::i;1824:101:20:-;;;:::i;1201:85::-;1247:7;1273:6;1201:85;;;-1:-1:-1;;;;;1273:6:20;;;451:51:48;;1201:85:20;;;;;439:2:48;1201:85:20;;;2074:198;;;;;;:::i;:::-;;:::i;333:109:36:-;1094:13:20;:11;:13::i;:::-;2261:21:21::1;:19;:21::i;:::-;409:26:36::2;428:6;409:18;:26::i;:::-;2303:20:21::1;1716:1:::0;2809:22;;2629:209;2303:20:::1;333:109:36::0;:::o;448:108::-;2261:21:21;:19;:21::i;:::-;1094:13:20::1;:11;:13::i;:::-;2303:20:21::0;1716:1;2809:22;;2629:209;2303:20;448:108:36:o;1824:101:20:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;2074:198::-:0;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:20;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:20;;715:2:48;2154:73:20::1;::::0;::::1;697:21:48::0;754:2;734:18;;;727:30;793:34;773:18;;;766:62;-1:-1:-1;;;844:18:48;;;837:36;890:19;;2154:73:20::1;;;;;;;;;2237:28;2256:8;2237:18;:28::i;1359:130::-:0;1247:7;1273:6;-1:-1:-1;;;;;1273:6:20;719:10:26;1422:23:20;1414:68;;;;-1:-1:-1;;;1414:68:20;;1122:2:48;1414:68:20;;;1104:21:48;;;1141:18;;;1134:30;1200:34;1180:18;;;1173:62;1252:18;;1414:68:20;920:356:48;2336:287:21;1759:1;2468:7;;:19;2460:63;;;;-1:-1:-1;;;2460:63:21;;1483:2:48;2460:63:21;;;1465:21:48;1522:2;1502:18;;;1495:30;1561:33;1541:18;;;1534:61;1612:18;;2460:63:21;1281:355:48;2460:63:21;1759:1;2598:7;:18;2336:287::o;2426:187:20:-;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:20;;;-1:-1:-1;;;;;;2534:17:20;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;14:286:48:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:48;;210:42;;200:70;;266:1;263;256:12;200:70;289:5;14:286;-1:-1:-1;;;14:286:48:o", + "sourceMap": "244:314:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;333:109;;;;;;:::i;:::-;;:::i;:::-;;448:108;;;:::i;1824:101:21:-;;;:::i;1201:85::-;1247:7;1273:6;1201:85;;;-1:-1:-1;;;;;1273:6:21;;;451:51:55;;1201:85:21;;;;;439:2:55;1201:85:21;;;2074:198;;;;;;:::i;:::-;;:::i;333:109:42:-;1094:13:21;:11;:13::i;:::-;2261:21:22::1;:19;:21::i;:::-;409:26:42::2;428:6;409:18;:26::i;:::-;2303:20:22::1;1716:1:::0;2809:22;;2629:209;2303:20:::1;333:109:42::0;:::o;448:108::-;2261:21:22;:19;:21::i;:::-;1094:13:21::1;:11;:13::i;:::-;2303:20:22::0;1716:1;2809:22;;2629:209;2303:20;448:108:42:o;1824:101:21:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;2074:198::-:0;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:21;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:21;;715:2:55;2154:73:21::1;::::0;::::1;697:21:55::0;754:2;734:18;;;727:30;793:34;773:18;;;766:62;-1:-1:-1;;;844:18:55;;;837:36;890:19;;2154:73:21::1;;;;;;;;;2237:28;2256:8;2237:18;:28::i;1359:130::-:0;1247:7;1273:6;-1:-1:-1;;;;;1273:6:21;719:10:31;1422:23:21;1414:68;;;;-1:-1:-1;;;1414:68:21;;1122:2:55;1414:68:21;;;1104:21:55;;;1141:18;;;1134:30;1200:34;1180:18;;;1173:62;1252:18;;1414:68:21;920:356:55;2336:287:22;1759:1;2468:7;;:19;2460:63;;;;-1:-1:-1;;;2460:63:22;;1483:2:55;2460:63:22;;;1465:21:55;1522:2;1502:18;;;1495:30;1561:33;1541:18;;;1534:61;1612:18;;2460:63:22;1281:355:55;2460:63:22;1759:1;2598:7;:18;2336:287::o;2426:187:21:-;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:21;;;-1:-1:-1;;;;;;2534:17:21;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;14:286:55:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:55;;210:42;;200:70;;266:1;263;256:12;200:70;289:5;14:286;-1:-1:-1;;;14:286:55:o", "linkReferences": {} }, "methodIdentifiers": { @@ -258,25 +258,25 @@ }, "ast": { "absolutePath": "src/AdminContract.sol", - "id": 46406, + "id": 47554, "exportedSymbols": { "AdminContract": [ - 46405 + 47553 ], "Ownable": [ - 43354 + 43393 ], "ReentrancyGuard": [ - 43419 + 43458 ] }, "nodeType": "SourceUnit", - "src": "32:527:36", + "src": "32:527:42", "nodes": [ { - "id": 46368, + "id": 47516, "nodeType": "PragmaDirective", - "src": "32:23:36", + "src": "32:23:42", "nodes": [], "literals": [ "solidity", @@ -285,24 +285,24 @@ ] }, { - "id": 46370, + "id": 47518, "nodeType": "ImportDirective", - "src": "57:83:36", + "src": "57:83:42", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/access/Ownable.sol", "file": "../lib/openzeppelin-contracts/contracts/access/Ownable.sol", "nameLocation": "-1:-1:-1", - "scope": 46406, - "sourceUnit": 43355, + "scope": 47554, + "sourceUnit": 43394, "symbolAliases": [ { "foreign": { - "id": 46369, + "id": 47517, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 43354, - "src": "65:7:36", + "referencedDeclaration": 43393, + "src": "65:7:42", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -311,24 +311,24 @@ "unitAlias": "" }, { - "id": 46372, + "id": 47520, "nodeType": "ImportDirective", - "src": "141:101:36", + "src": "141:101:42", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", "file": "../lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", "nameLocation": "-1:-1:-1", - "scope": 46406, - "sourceUnit": 43420, + "scope": 47554, + "sourceUnit": 43459, "symbolAliases": [ { "foreign": { - "id": 46371, + "id": 47519, "name": "ReentrancyGuard", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 43419, - "src": "149:15:36", + "referencedDeclaration": 43458, + "src": "149:15:42", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -337,19 +337,19 @@ "unitAlias": "" }, { - "id": 46405, + "id": 47553, "nodeType": "ContractDefinition", - "src": "244:314:36", + "src": "244:314:42", "nodes": [ { - "id": 46382, + "id": 47530, "nodeType": "FunctionDefinition", - "src": "301:26:36", + "src": "301:26:42", "nodes": [], "body": { - "id": 46381, + "id": 47529, "nodeType": "Block", - "src": "325:2:36", + "src": "325:2:42", "nodes": [], "statements": [] }, @@ -358,62 +358,62 @@ "modifiers": [ { "arguments": [], - "id": 46379, + "id": 47527, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 46378, + "id": 47526, "name": "Ownable", "nameLocations": [ - "315:7:36" + "315:7:42" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 43354, - "src": "315:7:36" + "referencedDeclaration": 43393, + "src": "315:7:42" }, "nodeType": "ModifierInvocation", - "src": "315:9:36" + "src": "315:9:42" } ], "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 46377, + "id": 47525, "nodeType": "ParameterList", "parameters": [], - "src": "312:2:36" + "src": "312:2:42" }, "returnParameters": { - "id": 46380, + "id": 47528, "nodeType": "ParameterList", "parameters": [], - "src": "325:0:36" + "src": "325:0:42" }, - "scope": 46405, + "scope": 47553, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 46396, + "id": 47544, "nodeType": "FunctionDefinition", - "src": "333:109:36", + "src": "333:109:42", "nodes": [], "body": { - "id": 46395, + "id": 47543, "nodeType": "Block", - "src": "399:43:36", + "src": "399:43:42", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 46392, + "id": 47540, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46384, - "src": "428:6:36", + "referencedDeclaration": 47532, + "src": "428:6:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -427,18 +427,18 @@ "typeString": "address" } ], - "id": 46391, + "id": 47539, "name": "_transferOwnership", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 43353, - "src": "409:18:36", + "referencedDeclaration": 43392, + "src": "409:18:42", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 46393, + "id": 47541, "isConstant": false, "isLValue": false, "isPure": false, @@ -447,16 +447,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "409:26:36", + "src": "409:26:42", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 46394, + "id": 47542, "nodeType": "ExpressionStatement", - "src": "409:26:36" + "src": "409:26:42" } ] }, @@ -465,53 +465,53 @@ "kind": "function", "modifiers": [ { - "id": 46387, + "id": 47535, "kind": "modifierInvocation", "modifierName": { - "id": 46386, + "id": 47534, "name": "onlyOwner", "nameLocations": [ - "376:9:36" + "376:9:42" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 43273, - "src": "376:9:36" + "referencedDeclaration": 43312, + "src": "376:9:42" }, "nodeType": "ModifierInvocation", - "src": "376:9:36" + "src": "376:9:42" }, { - "id": 46389, + "id": 47537, "kind": "modifierInvocation", "modifierName": { - "id": 46388, + "id": 47536, "name": "nonReentrant", "nameLocations": [ - "386:12:36" + "386:12:42" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 43384, - "src": "386:12:36" + "referencedDeclaration": 43423, + "src": "386:12:42" }, "nodeType": "ModifierInvocation", - "src": "386:12:36" + "src": "386:12:42" } ], "name": "setOwner", - "nameLocation": "342:8:36", + "nameLocation": "342:8:42", "parameters": { - "id": 46385, + "id": 47533, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46384, + "id": 47532, "mutability": "mutable", "name": "_owner", - "nameLocation": "359:6:36", + "nameLocation": "359:6:42", "nodeType": "VariableDeclaration", - "scope": 46396, - "src": "351:14:36", + "scope": 47544, + "src": "351:14:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -519,10 +519,10 @@ "typeString": "address" }, "typeName": { - "id": 46383, + "id": 47531, "name": "address", "nodeType": "ElementaryTypeName", - "src": "351:7:36", + "src": "351:7:42", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -532,28 +532,28 @@ "visibility": "internal" } ], - "src": "350:16:36" + "src": "350:16:42" }, "returnParameters": { - "id": 46390, + "id": 47538, "nodeType": "ParameterList", "parameters": [], - "src": "399:0:36" + "src": "399:0:42" }, - "scope": 46405, + "scope": 47553, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 46404, + "id": 47552, "nodeType": "FunctionDefinition", - "src": "448:108:36", + "src": "448:108:42", "nodes": [], "body": { - "id": 46403, + "id": 47551, "nodeType": "Block", - "src": "515:41:36", + "src": "515:41:42", "nodes": [], "statements": [] }, @@ -562,53 +562,53 @@ "kind": "function", "modifiers": [ { - "id": 46399, + "id": 47547, "kind": "modifierInvocation", "modifierName": { - "id": 46398, + "id": 47546, "name": "nonReentrant", "nameLocations": [ - "492:12:36" + "492:12:42" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 43384, - "src": "492:12:36" + "referencedDeclaration": 43423, + "src": "492:12:42" }, "nodeType": "ModifierInvocation", - "src": "492:12:36" + "src": "492:12:42" }, { - "id": 46401, + "id": 47549, "kind": "modifierInvocation", "modifierName": { - "id": 46400, + "id": 47548, "name": "onlyOwner", "nameLocations": [ - "505:9:36" + "505:9:42" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 43273, - "src": "505:9:36" + "referencedDeclaration": 43312, + "src": "505:9:42" }, "nodeType": "ModifierInvocation", - "src": "505:9:36" + "src": "505:9:42" } ], "name": "someOtherImportantThing", - "nameLocation": "457:23:36", + "nameLocation": "457:23:42", "parameters": { - "id": 46397, + "id": 47545, "nodeType": "ParameterList", "parameters": [], - "src": "480:2:36" + "src": "480:2:42" }, "returnParameters": { - "id": 46402, + "id": 47550, "nodeType": "ParameterList", "parameters": [], - "src": "515:0:36" + "src": "515:0:42" }, - "scope": 46405, + "scope": 47553, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -618,33 +618,33 @@ "baseContracts": [ { "baseName": { - "id": 46373, + "id": 47521, "name": "Ownable", "nameLocations": [ - "270:7:36" + "270:7:42" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 43354, - "src": "270:7:36" + "referencedDeclaration": 43393, + "src": "270:7:42" }, - "id": 46374, + "id": 47522, "nodeType": "InheritanceSpecifier", - "src": "270:7:36" + "src": "270:7:42" }, { "baseName": { - "id": 46375, + "id": 47523, "name": "ReentrancyGuard", "nameLocations": [ - "279:15:36" + "279:15:42" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 43419, - "src": "279:15:36" + "referencedDeclaration": 43458, + "src": "279:15:42" }, - "id": 46376, + "id": 47524, "nodeType": "InheritanceSpecifier", - "src": "279:15:36" + "src": "279:15:42" } ], "canonicalName": "AdminContract", @@ -652,21 +652,21 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 46405, - 43419, - 43354, - 44261 + 47553, + 43458, + 43393, + 45388 ], "name": "AdminContract", - "nameLocation": "253:13:36", - "scope": 46406, + "nameLocation": "253:13:42", + "scope": 47554, "usedErrors": [], "usedEvents": [ - 43255 + 43294 ] } ], "license": "MIT" }, - "id": 36 + "id": 42 } \ No newline at end of file diff --git a/tests/contract-playground/out/Base.sol/CommonBase.json b/tests/contract-playground/out/Base.sol/CommonBase.json index 202919e37..8559df9ae 100644 --- a/tests/contract-playground/out/Base.sol/CommonBase.json +++ b/tests/contract-playground/out/Base.sol/CommonBase.json @@ -11,7 +11,7 @@ "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"CommonBase\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"CommonBase\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/Base.sol/ScriptBase.json b/tests/contract-playground/out/Base.sol/ScriptBase.json index e1b596187..1a4b61e41 100644 --- a/tests/contract-playground/out/Base.sol/ScriptBase.json +++ b/tests/contract-playground/out/Base.sol/ScriptBase.json @@ -11,7 +11,7 @@ "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"ScriptBase\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"ScriptBase\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/Base.sol/TestBase.json b/tests/contract-playground/out/Base.sol/TestBase.json index 4992af9c1..c2488f4dd 100644 --- a/tests/contract-playground/out/Base.sol/TestBase.json +++ b/tests/contract-playground/out/Base.sol/TestBase.json @@ -11,7 +11,7 @@ "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"TestBase\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"TestBase\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/Context.sol/Context.json b/tests/contract-playground/out/Context.sol/Context.json index b4104d506..ad692379d 100644 --- a/tests/contract-playground/out/Context.sol/Context.json +++ b/tests/contract-playground/out/Context.sol/Context.json @@ -11,7 +11,7 @@ "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, @@ -65,19 +66,19 @@ }, "ast": { "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Context.sol", - "id": 44301, + "id": 45389, "exportedSymbols": { "Context": [ - 44300 + 45388 ] }, "nodeType": "SourceUnit", - "src": "86:758:27", + "src": "86:758:31", "nodes": [ { - "id": 44280, + "id": 45368, "nodeType": "PragmaDirective", - "src": "86:23:27", + "src": "86:23:31", "nodes": [], "literals": [ "solidity", @@ -87,53 +88,53 @@ ] }, { - "id": 44300, + "id": 45388, "nodeType": "ContractDefinition", - "src": "608:235:27", + "src": "608:235:31", "nodes": [ { - "id": 44290, + "id": 45378, "nodeType": "FunctionDefinition", - "src": "640:96:27", + "src": "640:96:31", "nodes": [], "body": { - "id": 44289, + "id": 45377, "nodeType": "Block", - "src": "702:34:27", + "src": "702:34:31", "nodes": [], "statements": [ { "expression": { "expression": { - "id": 44286, + "id": 45374, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "719:3:27", + "src": "719:3:31", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 44287, + "id": 45375, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "723:6:27", + "memberLocation": "723:6:31", "memberName": "sender", "nodeType": "MemberAccess", - "src": "719:10:27", + "src": "719:10:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 44285, - "id": 44288, + "functionReturnParameters": 45373, + "id": 45376, "nodeType": "Return", - "src": "712:17:27" + "src": "712:17:31" } ] }, @@ -141,26 +142,26 @@ "kind": "function", "modifiers": [], "name": "_msgSender", - "nameLocation": "649:10:27", + "nameLocation": "649:10:31", "parameters": { - "id": 44282, + "id": 45370, "nodeType": "ParameterList", "parameters": [], - "src": "659:2:27" + "src": "659:2:31" }, "returnParameters": { - "id": 44285, + "id": 45373, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44284, + "id": 45372, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44290, - "src": "693:7:27", + "scope": 45378, + "src": "693:7:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -168,10 +169,10 @@ "typeString": "address" }, "typeName": { - "id": 44283, + "id": 45371, "name": "address", "nodeType": "ElementaryTypeName", - "src": "693:7:27", + "src": "693:7:31", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -181,56 +182,56 @@ "visibility": "internal" } ], - "src": "692:9:27" + "src": "692:9:31" }, - "scope": 44300, + "scope": 45388, "stateMutability": "view", "virtual": true, "visibility": "internal" }, { - "id": 44299, + "id": 45387, "nodeType": "FunctionDefinition", - "src": "742:99:27", + "src": "742:99:31", "nodes": [], "body": { - "id": 44298, + "id": 45386, "nodeType": "Block", - "src": "809:32:27", + "src": "809:32:31", "nodes": [], "statements": [ { "expression": { "expression": { - "id": 44295, + "id": 45383, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "826:3:27", + "src": "826:3:31", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 44296, + "id": 45384, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "830:4:27", + "memberLocation": "830:4:31", "memberName": "data", "nodeType": "MemberAccess", - "src": "826:8:27", + "src": "826:8:31", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, - "functionReturnParameters": 44294, - "id": 44297, + "functionReturnParameters": 45382, + "id": 45385, "nodeType": "Return", - "src": "819:15:27" + "src": "819:15:31" } ] }, @@ -238,26 +239,26 @@ "kind": "function", "modifiers": [], "name": "_msgData", - "nameLocation": "751:8:27", + "nameLocation": "751:8:31", "parameters": { - "id": 44291, + "id": 45379, "nodeType": "ParameterList", "parameters": [], - "src": "759:2:27" + "src": "759:2:31" }, "returnParameters": { - "id": 44294, + "id": 45382, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44293, + "id": 45381, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44299, - "src": "793:14:27", + "scope": 45387, + "src": "793:14:31", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -265,10 +266,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44292, + "id": 45380, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "793:5:27", + "src": "793:5:31", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -277,9 +278,9 @@ "visibility": "internal" } ], - "src": "792:16:27" + "src": "792:16:31" }, - "scope": 44300, + "scope": 45388, "stateMutability": "view", "virtual": true, "visibility": "internal" @@ -291,23 +292,23 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 44281, + "id": 45369, "nodeType": "StructuredDocumentation", - "src": "111:496:27", + "src": "111:496:31", "text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts." }, "fullyImplemented": true, "linearizedBaseContracts": [ - 44300 + 45388 ], "name": "Context", - "nameLocation": "626:7:27", - "scope": 44301, + "nameLocation": "626:7:31", + "scope": 45389, "usedErrors": [], "usedEvents": [] } ], "license": "MIT" }, - "id": 27 + "id": 31 } \ No newline at end of file diff --git a/tests/contract-playground/out/Counter.s.sol/CounterScript.json b/tests/contract-playground/out/Counter.s.sol/CounterScript.json index c04e107ed..4dae2b1a0 100644 --- a/tests/contract-playground/out/Counter.s.sol/CounterScript.json +++ b/tests/contract-playground/out/Counter.s.sol/CounterScript.json @@ -29,13 +29,13 @@ } ], "bytecode": { - "object": "0x608060405260048054600160ff199182168117909255600c8054909116909117905534801561002d57600080fd5b506101158061003d6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80630a9254e4146041578063c0406226146043578063f8ccbf47146049575b600080fd5b005b60416069565b600c5460559060ff1681565b604051901515815260200160405180910390f35b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663afc980406040518163ffffffff1660e01b8152600401600060405180830381600087803b15801560c657600080fd5b505af115801560d9573d6000803e3d6000fd5b5050505056fea26469706673582212207f8d55a08958869d89a2ef7316eafeb273625695c4b6f6f201a4bd45ee82767464736f6c63430008140033", - "sourceMap": "121:126:35:-:0;;;3126:44:4;;;3166:4;-1:-1:-1;;3126:44:4;;;;;;;;800:28:2;;;;;;;;;;;121:126:35;;;;;;;;;;;;;;;;", + "object": "0x608060405260048054600160ff199182168117909255600c8054909116909117905534801561002d57600080fd5b506101158061003d6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80630a9254e4146041578063c0406226146043578063f8ccbf47146049575b600080fd5b005b60416069565b600c5460559060ff1681565b604051901515815260200160405180910390f35b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663afc980406040518163ffffffff1660e01b8152600401600060405180830381600087803b15801560c657600080fd5b505af115801560d9573d6000803e3d6000fd5b5050505056fea2646970667358221220e67b7d6007841d95c66ce80f2caec03042130f9d325e8b772a9d9fc31b9cb6ee64736f6c63430008140033", + "sourceMap": "121:126:41:-:0;;;3126:44:4;;;3166:4;-1:-1:-1;;3126:44:4;;;;;;;;800:28:2;;;;;;;;;;;121:126:41;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x6080604052348015600f57600080fd5b5060043610603c5760003560e01c80630a9254e4146041578063c0406226146043578063f8ccbf47146049575b600080fd5b005b60416069565b600c5460559060ff1681565b604051901515815260200160405180910390f35b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663afc980406040518163ffffffff1660e01b8152600401600060405180830381600087803b15801560c657600080fd5b505af115801560d9573d6000803e3d6000fd5b5050505056fea26469706673582212207f8d55a08958869d89a2ef7316eafeb273625695c4b6f6f201a4bd45ee82767464736f6c63430008140033", - "sourceMap": "121:126:35:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;160:26;;192:53;;;:::i;800:28:2:-;;;;;;;;;;;;179:14:46;;172:22;154:41;;142:2;127:18;800:28:2;;;;;;;192:53:35;317:28:1;309:37;;-1:-1:-1;;;;;224:12:35;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;192:53::o", + "object": "0x6080604052348015600f57600080fd5b5060043610603c5760003560e01c80630a9254e4146041578063c0406226146043578063f8ccbf47146049575b600080fd5b005b60416069565b600c5460559060ff1681565b604051901515815260200160405180910390f35b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663afc980406040518163ffffffff1660e01b8152600401600060405180830381600087803b15801560c657600080fd5b505af115801560d9573d6000803e3d6000fd5b5050505056fea2646970667358221220e67b7d6007841d95c66ce80f2caec03042130f9d325e8b772a9d9fc31b9cb6ee64736f6c63430008140033", + "sourceMap": "121:126:41:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;160:26;;192:53;;;:::i;800:28:2:-;;;;;;;;;;;;179:14:55;;172:22;154:41;;142:2;127:18;800:28:2;;;;;;;192:53:41;317:28:1;309:37;;-1:-1:-1;;;;;224:12:41;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;192:53::o", "linkReferences": {} }, "methodIdentifiers": { @@ -43,7 +43,7 @@ "run()": "c0406226", "setUp()": "0a9254e4" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"script/Counter.s.sol\":\"CounterScript\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x0bded803c7e28336785fa600f03035e61d0b689bba2f014b1720e576c5ee3307\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://407f3979f460cc60bc7e4ce6fd7da4facac9f52623b4d6805052538d897eab9b\",\"dweb:/ipfs/QmSRhYNywsJhtYEYyPM1izGNsP1SBzxsXwLfcQnFF5NA9p\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d\",\"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"script/Counter.s.sol\":{\"keccak256\":\"0xf86c2fc2fcd2fd3abd6f2a142937ec942f4336d395a385c9a5b421d016be840b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://94f102fec22d11e7273297f5e58e6b056545cb8c8cc3ecc1e3ea0b3542823f79\",\"dweb:/ipfs/QmWC6tmRs91pjXgftPFCuMSVxRHjSDuiq6HbjFGCYbRCu6\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"script/Counter.s.sol\":\"CounterScript\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x0bded803c7e28336785fa600f03035e61d0b689bba2f014b1720e576c5ee3307\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://407f3979f460cc60bc7e4ce6fd7da4facac9f52623b4d6805052538d897eab9b\",\"dweb:/ipfs/QmSRhYNywsJhtYEYyPM1izGNsP1SBzxsXwLfcQnFF5NA9p\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d\",\"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"script/Counter.s.sol\":{\"keccak256\":\"0xf86c2fc2fcd2fd3abd6f2a142937ec942f4336d395a385c9a5b421d016be840b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://94f102fec22d11e7273297f5e58e6b056545cb8c8cc3ecc1e3ea0b3542823f79\",\"dweb:/ipfs/QmWC6tmRs91pjXgftPFCuMSVxRHjSDuiq6HbjFGCYbRCu6\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -95,7 +95,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, @@ -235,10 +236,10 @@ }, "ast": { "absolutePath": "script/Counter.s.sol", - "id": 46031, + "id": 47515, "exportedSymbols": { "CounterScript": [ - 46030 + 47514 ], "Script": [ 2405 @@ -248,12 +249,12 @@ ] }, "nodeType": "SourceUnit", - "src": "39:209:35", + "src": "39:209:41", "nodes": [ { - "id": 46011, + "id": 47495, "nodeType": "PragmaDirective", - "src": "39:24:35", + "src": "39:24:41", "nodes": [], "literals": [ "solidity", @@ -263,36 +264,36 @@ ] }, { - "id": 46014, + "id": 47498, "nodeType": "ImportDirective", - "src": "65:54:35", + "src": "65:54:41", "nodes": [], "absolutePath": "lib/forge-std/src/Script.sol", "file": "forge-std/Script.sol", "nameLocation": "-1:-1:-1", - "scope": 46031, + "scope": 47515, "sourceUnit": 2406, "symbolAliases": [ { "foreign": { - "id": 46012, + "id": 47496, "name": "Script", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2405, - "src": "73:6:35", + "src": "73:6:41", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { - "id": 46013, + "id": 47497, "name": "console2", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 29653, - "src": "81:8:35", + "src": "81:8:41", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -301,19 +302,19 @@ "unitAlias": "" }, { - "id": 46030, + "id": 47514, "nodeType": "ContractDefinition", - "src": "121:126:35", + "src": "121:126:41", "nodes": [ { - "id": 46020, + "id": 47504, "nodeType": "FunctionDefinition", - "src": "160:26:35", + "src": "160:26:41", "nodes": [], "body": { - "id": 46019, + "id": 47503, "nodeType": "Block", - "src": "184:2:35", + "src": "184:2:41", "nodes": [], "statements": [] }, @@ -322,33 +323,33 @@ "kind": "function", "modifiers": [], "name": "setUp", - "nameLocation": "169:5:35", + "nameLocation": "169:5:41", "parameters": { - "id": 46017, + "id": 47501, "nodeType": "ParameterList", "parameters": [], - "src": "174:2:35" + "src": "174:2:41" }, "returnParameters": { - "id": 46018, + "id": 47502, "nodeType": "ParameterList", "parameters": [], - "src": "184:0:35" + "src": "184:0:41" }, - "scope": 46030, + "scope": 47514, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 46029, + "id": 47513, "nodeType": "FunctionDefinition", - "src": "192:53:35", + "src": "192:53:41", "nodes": [], "body": { - "id": 46028, + "id": 47512, "nodeType": "Block", - "src": "214:31:35", + "src": "214:31:41", "nodes": [], "statements": [ { @@ -357,33 +358,33 @@ "expression": { "argumentTypes": [], "expression": { - "id": 46023, + "id": 47507, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2350, - "src": "224:2:35", + "src": "224:2:41", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" } }, - "id": 46025, + "id": 47509, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "227:9:35", + "memberLocation": "227:9:41", "memberName": "broadcast", "nodeType": "MemberAccess", "referencedDeclaration": 12354, - "src": "224:12:35", + "src": "224:12:41", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", "typeString": "function () external" } }, - "id": 46026, + "id": 47510, "isConstant": false, "isLValue": false, "isPure": false, @@ -392,16 +393,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "224:14:35", + "src": "224:14:41", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 46027, + "id": 47511, "nodeType": "ExpressionStatement", - "src": "224:14:35" + "src": "224:14:41" } ] }, @@ -410,20 +411,20 @@ "kind": "function", "modifiers": [], "name": "run", - "nameLocation": "201:3:35", + "nameLocation": "201:3:41", "parameters": { - "id": 46021, + "id": 47505, "nodeType": "ParameterList", "parameters": [], - "src": "204:2:35" + "src": "204:2:41" }, "returnParameters": { - "id": 46022, + "id": 47506, "nodeType": "ParameterList", "parameters": [], - "src": "214:0:35" + "src": "214:0:41" }, - "scope": 46030, + "scope": 47514, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" @@ -433,18 +434,18 @@ "baseContracts": [ { "baseName": { - "id": 46015, + "id": 47499, "name": "Script", "nameLocations": [ - "147:6:35" + "147:6:41" ], "nodeType": "IdentifierPath", "referencedDeclaration": 2405, - "src": "147:6:35" + "src": "147:6:41" }, - "id": 46016, + "id": 47500, "nodeType": "InheritanceSpecifier", - "src": "147:6:35" + "src": "147:6:41" } ], "canonicalName": "CounterScript", @@ -452,7 +453,7 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 46030, + 47514, 2405, 2366, 2354, @@ -461,13 +462,13 @@ 4516 ], "name": "CounterScript", - "nameLocation": "130:13:35", - "scope": 46031, + "nameLocation": "130:13:41", + "scope": 47515, "usedErrors": [], "usedEvents": [] } ], "license": "UNLICENSED" }, - "id": 35 + "id": 41 } \ No newline at end of file diff --git a/tests/contract-playground/out/Counter.sol/Counter.json b/tests/contract-playground/out/Counter.sol/Counter.json index 10a556618..bbc6d9803 100644 --- a/tests/contract-playground/out/Counter.sol/Counter.json +++ b/tests/contract-playground/out/Counter.sol/Counter.json @@ -70,12 +70,12 @@ ], "bytecode": { "object": "0x60806040526000805534801561001457600080fd5b506101a2806100246000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063452707c11161005b578063452707c1146100b95780637b74087e146100b95780638381f58a146100c1578063d09de08a146100ca57600080fd5b806334945b3a1461008257806338cd26de1461009c5780633fb5c1cb146100a6575b600080fd5b61008a600281565b60405190815260200160405180910390f35b6100a46100d2565b005b6100a46100b436600461010b565b600055565b6100a46100dc565b61008a60005481565b6100a46100f5565b6100da6100f5565b565b60026000808282546100ee919061013a565b9091555050565b60008054908061010483610153565b9190505550565b60006020828403121561011d57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561014d5761014d610124565b92915050565b60006001820161016557610165610124565b506001019056fea2646970667358221220534a56c191ae15c1b9c3e47af525db89c8309095129605172edb482a52b6675864736f6c63430008140033", - "sourceMap": "65:496:37:-:0;;;112:1;88:25;;65:496;;;;;;;;;;;;;;;;", + "sourceMap": "65:496:43:-:0;;;112:1;88:25;;65:496;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063452707c11161005b578063452707c1146100b95780637b74087e146100b95780638381f58a146100c1578063d09de08a146100ca57600080fd5b806334945b3a1461008257806338cd26de1461009c5780633fb5c1cb146100a6575b600080fd5b61008a600281565b60405190815260200160405180910390f35b6100a46100d2565b005b6100a46100b436600461010b565b600055565b6100a46100dc565b61008a60005481565b6100a46100f5565b6100da6100f5565b565b60026000808282546100ee919061013a565b9091555050565b60008054908061010483610153565b9190505550565b60006020828403121561011d57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561014d5761014d610124565b92915050565b60006001820161016557610165610124565b506001019056fea2646970667358221220534a56c191ae15c1b9c3e47af525db89c8309095129605172edb482a52b6675864736f6c63430008140033", - "sourceMap": "65:496:37:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;448:31;;478:1;448:31;;;;;160:25:48;;;148:2;133:18;448:31:37;;;;;;;277:62;;;:::i;:::-;;120:80;;;;;;:::i;:::-;175:6;:18;120:80;358:84;;;:::i;88:25::-;;;;;;206:53;;;:::i;277:62::-;321:11;:9;:11::i;:::-;277:62::o;358:84::-;434:1;424:6;;:11;;;;;;;:::i;:::-;;;;-1:-1:-1;;358:84:37:o;206:53::-;244:6;:8;;;:6;:8;;;:::i;:::-;;;;;;206:53::o;196:180:48:-;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;-1:-1:-1;347:23:48;;196:180;-1:-1:-1;196:180:48:o;381:127::-;442:10;437:3;433:20;430:1;423:31;473:4;470:1;463:15;497:4;494:1;487:15;513:125;578:9;;;599:10;;;596:36;;;612:18;;:::i;:::-;513:125;;;;:::o;643:135::-;682:3;703:17;;;700:43;;723:18;;:::i;:::-;-1:-1:-1;770:1:48;759:13;;643:135::o", + "sourceMap": "65:496:43:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;448:31;;478:1;448:31;;;;;160:25:55;;;148:2;133:18;448:31:43;;;;;;;277:62;;;:::i;:::-;;120:80;;;;;;:::i;:::-;175:6;:18;120:80;358:84;;;:::i;88:25::-;;;;;;206:53;;;:::i;277:62::-;321:11;:9;:11::i;:::-;277:62::o;358:84::-;434:1;424:6;;:11;;;;;;;:::i;:::-;;;;-1:-1:-1;;358:84:43:o;206:53::-;244:6;:8;;;:6;:8;;;:::i;:::-;;;;;;206:53::o;196:180:55:-;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;-1:-1:-1;347:23:55;;196:180;-1:-1:-1;196:180:55:o;381:127::-;442:10;437:3;433:20;430:1;423:31;473:4;470:1;463:15;497:4;494:1;487:15;513:125;578:9;;;599:10;;;596:36;;;612:18;;:::i;:::-;513:125;;;;:::o;643:135::-;682:3;703:17;;;700:43;;723:18;;:::i;:::-;-1:-1:-1;770:1:55;759:13;;643:135::o", "linkReferences": {} }, "methodIdentifiers": { @@ -209,19 +209,19 @@ }, "ast": { "absolutePath": "src/Counter.sol", - "id": 46456, + "id": 47604, "exportedSymbols": { "Counter": [ - 46455 + 47603 ] }, "nodeType": "SourceUnit", - "src": "39:523:37", + "src": "39:523:43", "nodes": [ { - "id": 46407, + "id": 47555, "nodeType": "PragmaDirective", - "src": "39:24:37", + "src": "39:24:43", "nodes": [], "literals": [ "solidity", @@ -231,21 +231,21 @@ ] }, { - "id": 46455, + "id": 47603, "nodeType": "ContractDefinition", - "src": "65:496:37", + "src": "65:496:43", "nodes": [ { - "id": 46410, + "id": 47558, "nodeType": "VariableDeclaration", - "src": "88:25:37", + "src": "88:25:43", "nodes": [], "constant": false, "functionSelector": "8381f58a", "mutability": "mutable", "name": "number", - "nameLocation": "103:6:37", - "scope": 46455, + "nameLocation": "103:6:43", + "scope": 47603, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -253,10 +253,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46408, + "id": 47556, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "88:7:37", + "src": "88:7:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -264,14 +264,14 @@ }, "value": { "hexValue": "30", - "id": 46409, + "id": 47557, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "112:1:37", + "src": "112:1:43", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -281,30 +281,30 @@ "visibility": "public" }, { - "id": 46420, + "id": 47568, "nodeType": "FunctionDefinition", - "src": "120:80:37", + "src": "120:80:43", "nodes": [], "body": { - "id": 46419, + "id": 47567, "nodeType": "Block", - "src": "165:35:37", + "src": "165:35:43", "nodes": [], "statements": [ { "expression": { - "id": 46417, + "id": 47565, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 46415, + "id": 47563, "name": "number", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46410, - "src": "175:6:37", + "referencedDeclaration": 47558, + "src": "175:6:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -313,26 +313,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 46416, + "id": 47564, "name": "newNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46412, - "src": "184:9:37", + "referencedDeclaration": 47560, + "src": "184:9:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "175:18:37", + "src": "175:18:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 46418, + "id": 47566, "nodeType": "ExpressionStatement", - "src": "175:18:37" + "src": "175:18:43" } ] }, @@ -341,20 +341,20 @@ "kind": "function", "modifiers": [], "name": "setNumber", - "nameLocation": "129:9:37", + "nameLocation": "129:9:43", "parameters": { - "id": 46413, + "id": 47561, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46412, + "id": 47560, "mutability": "mutable", "name": "newNumber", - "nameLocation": "147:9:37", + "nameLocation": "147:9:43", "nodeType": "VariableDeclaration", - "scope": 46420, - "src": "139:17:37", + "scope": 47568, + "src": "139:17:43", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -362,10 +362,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46411, + "id": 47559, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "139:7:37", + "src": "139:7:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -374,33 +374,33 @@ "visibility": "internal" } ], - "src": "138:19:37" + "src": "138:19:43" }, "returnParameters": { - "id": 46414, + "id": 47562, "nodeType": "ParameterList", "parameters": [], - "src": "165:0:37" + "src": "165:0:43" }, - "scope": 46455, + "scope": 47603, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 46427, + "id": 47575, "nodeType": "FunctionDefinition", - "src": "206:53:37", + "src": "206:53:43", "nodes": [], "body": { - "id": 46426, + "id": 47574, "nodeType": "Block", - "src": "234:25:37", + "src": "234:25:43", "nodes": [], "statements": [ { "expression": { - "id": 46424, + "id": 47572, "isConstant": false, "isLValue": false, "isPure": false, @@ -408,14 +408,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "244:8:37", + "src": "244:8:43", "subExpression": { - "id": 46423, + "id": 47571, "name": "number", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46410, - "src": "244:6:37", + "referencedDeclaration": 47558, + "src": "244:6:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -426,9 +426,9 @@ "typeString": "uint256" } }, - "id": 46425, + "id": 47573, "nodeType": "ExpressionStatement", - "src": "244:8:37" + "src": "244:8:43" } ] }, @@ -437,33 +437,33 @@ "kind": "function", "modifiers": [], "name": "increment", - "nameLocation": "215:9:37", + "nameLocation": "215:9:43", "parameters": { - "id": 46421, + "id": 47569, "nodeType": "ParameterList", "parameters": [], - "src": "224:2:37" + "src": "224:2:43" }, "returnParameters": { - "id": 46422, + "id": 47570, "nodeType": "ParameterList", "parameters": [], - "src": "234:0:37" + "src": "234:0:43" }, - "scope": 46455, + "scope": 47603, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 46434, + "id": 47582, "nodeType": "FunctionDefinition", - "src": "277:62:37", + "src": "277:62:43", "nodes": [], "body": { - "id": 46433, + "id": 47581, "nodeType": "Block", - "src": "311:28:37", + "src": "311:28:43", "nodes": [], "statements": [ { @@ -471,18 +471,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 46430, + "id": 47578, "name": "increment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46427, - "src": "321:9:37", + "referencedDeclaration": 47575, + "src": "321:9:43", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 46431, + "id": 47579, "isConstant": false, "isLValue": false, "isPure": false, @@ -491,16 +491,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "321:11:37", + "src": "321:11:43", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 46432, + "id": 47580, "nodeType": "ExpressionStatement", - "src": "321:11:37" + "src": "321:11:43" } ] }, @@ -509,49 +509,49 @@ "kind": "function", "modifiers": [], "name": "callIncrement", - "nameLocation": "286:13:37", + "nameLocation": "286:13:43", "parameters": { - "id": 46428, + "id": 47576, "nodeType": "ParameterList", "parameters": [], - "src": "299:2:37" + "src": "299:2:43" }, "returnParameters": { - "id": 46429, + "id": 47577, "nodeType": "ParameterList", "parameters": [], - "src": "311:0:37" + "src": "311:0:43" }, - "scope": 46455, + "scope": 47603, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 46443, + "id": 47591, "nodeType": "FunctionDefinition", - "src": "358:84:37", + "src": "358:84:43", "nodes": [], "body": { - "id": 46442, + "id": 47590, "nodeType": "Block", - "src": "398:44:37", + "src": "398:44:43", "nodes": [], "statements": [ { "expression": { - "id": 46440, + "id": 47588, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 46438, + "id": 47586, "name": "number", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46410, - "src": "424:6:37", + "referencedDeclaration": 47558, + "src": "424:6:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -561,36 +561,36 @@ "operator": "+=", "rightHandSide": { "hexValue": "32", - "id": 46439, + "id": 47587, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "434:1:37", + "src": "434:1:43", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "424:11:37", + "src": "424:11:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 46441, + "id": 47589, "nodeType": "ExpressionStatement", - "src": "424:11:37" + "src": "424:11:43" } ] }, "documentation": { - "id": 46435, + "id": 47583, "nodeType": "StructuredDocumentation", - "src": "345:8:37", + "src": "345:8:43", "text": "TODO" }, "functionSelector": "452707c1", @@ -598,35 +598,35 @@ "kind": "function", "modifiers": [], "name": "incrementByTwoMagic", - "nameLocation": "367:19:37", + "nameLocation": "367:19:43", "parameters": { - "id": 46436, + "id": 47584, "nodeType": "ParameterList", "parameters": [], - "src": "386:2:37" + "src": "386:2:43" }, "returnParameters": { - "id": 46437, + "id": 47585, "nodeType": "ParameterList", "parameters": [], - "src": "398:0:37" + "src": "398:0:43" }, - "scope": 46455, + "scope": 47603, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 46446, + "id": 47594, "nodeType": "VariableDeclaration", - "src": "448:31:37", + "src": "448:31:43", "nodes": [], "constant": true, "functionSelector": "34945b3a", "mutability": "constant", "name": "TWO", - "nameLocation": "472:3:37", - "scope": 46455, + "nameLocation": "472:3:43", + "scope": 47603, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -634,10 +634,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46444, + "id": 47592, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "448:7:37", + "src": "448:7:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -645,14 +645,14 @@ }, "value": { "hexValue": "32", - "id": 46445, + "id": 47593, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "478:1:37", + "src": "478:1:43", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -662,30 +662,30 @@ "visibility": "public" }, { - "id": 46454, + "id": 47602, "nodeType": "FunctionDefinition", - "src": "486:73:37", + "src": "486:73:43", "nodes": [], "body": { - "id": 46453, + "id": 47601, "nodeType": "Block", - "src": "529:30:37", + "src": "529:30:43", "nodes": [], "statements": [ { "expression": { - "id": 46451, + "id": 47599, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 46449, + "id": 47597, "name": "number", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46410, - "src": "539:6:37", + "referencedDeclaration": 47558, + "src": "539:6:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -694,26 +694,26 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 46450, + "id": 47598, "name": "TWO", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46446, - "src": "549:3:37", + "referencedDeclaration": 47594, + "src": "549:3:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "539:13:37", + "src": "539:13:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 46452, + "id": 47600, "nodeType": "ExpressionStatement", - "src": "539:13:37" + "src": "539:13:43" } ] }, @@ -722,20 +722,20 @@ "kind": "function", "modifiers": [], "name": "incrementByTwoConstant", - "nameLocation": "495:22:37", + "nameLocation": "495:22:43", "parameters": { - "id": 46447, + "id": 47595, "nodeType": "ParameterList", "parameters": [], - "src": "517:2:37" + "src": "517:2:43" }, "returnParameters": { - "id": 46448, + "id": 47596, "nodeType": "ParameterList", "parameters": [], - "src": "529:0:37" + "src": "529:0:43" }, - "scope": 46455, + "scope": 47603, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -748,16 +748,16 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 46455 + 47603 ], "name": "Counter", - "nameLocation": "74:7:37", - "scope": 46456, + "nameLocation": "74:7:43", + "scope": 47604, "usedErrors": [], "usedEvents": [] } ], "license": "UNLICENSED" }, - "id": 37 + "id": 43 } \ No newline at end of file diff --git a/tests/contract-playground/out/Counter.t.sol/CounterTest.json b/tests/contract-playground/out/Counter.t.sol/CounterTest.json index c4c892a2b..0792a43b1 100644 --- a/tests/contract-playground/out/Counter.t.sol/CounterTest.json +++ b/tests/contract-playground/out/Counter.t.sol/CounterTest.json @@ -561,12 +561,12 @@ ], "bytecode": { "object": "0x608060405260008054600160ff19918216811790925560048054909116909117905534801561002d57600080fd5b5061111b8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806366d9a9a01161008c578063b5508aa911610066578063b5508aa91461019f578063ba414fa6146101a7578063e20c9f71146101bf578063fa7626d4146101c757600080fd5b806366d9a9a01461016d57806385226c8114610182578063916a17c61461019757600080fd5b80633f7286f4116100c85780633f7286f41461011f5780634820a105146101275780635c7f60d71461012f57806361bc221a1461014257600080fd5b80630a9254e4146100ef5780631ed7831c146100f95780633e5e3c2314610117575b600080fd5b6100f76101d4565b005b61010161026d565b60405161010e9190610c9f565b60405180910390f35b6101016102cf565b61010161032f565b6100f761038f565b6100f761013d366004610cec565b61047a565b601b54610155906001600160a01b031681565b6040516001600160a01b03909116815260200161010e565b61017561055b565b60405161010e9190610d05565b61018a61064a565b60405161010e9190610ddc565b61017561071a565b61018a610800565b6101af6108d0565b604051901515815260200161010e565b6101016109fb565b6000546101af9060ff1681565b6040516101e090610c92565b604051809103906000f0801580156101fc573d6000803e3d6000fd5b50601b80546001600160a01b0319166001600160a01b03929092169182179055604051633fb5c1cb60e01b815260006004820152633fb5c1cb90602401600060405180830381600087803b15801561025357600080fd5b505af1158015610267573d6000803e3d6000fd5b50505050565b6060600d8054806020026020016040519081016040528092919081815260200182805480156102c557602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102a7575b5050505050905090565b6060600f8054806020026020016040519081016040528092919081815260200182805480156102c5576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102a7575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156102c5576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102a7575050505050905090565b601b60009054906101000a90046001600160a01b03166001600160a01b031663d09de08a6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103df57600080fd5b505af11580156103f3573d6000803e3d6000fd5b50505050610478601b60009054906101000a90046001600160a01b03166001600160a01b0316638381f58a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561044d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104719190610e56565b6001610a5b565b565b601b54604051633fb5c1cb60e01b8152600481018390526001600160a01b0390911690633fb5c1cb90602401600060405180830381600087803b1580156104c057600080fd5b505af11580156104d4573d6000803e3d6000fd5b50505050610558601b60009054906101000a90046001600160a01b03166001600160a01b0316638381f58a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561052e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105529190610e56565b82610a5b565b50565b60606012805480602002602001604051908101604052809291908181526020016000905b828210156106415760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561062957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105eb5790505b5050505050815250508152602001906001019061057f565b50505050905090565b60606011805480602002602001604051908101604052809291908181526020016000905b8282101561064157838290600052602060002001805461068d90610e6f565b80601f01602080910402602001604051908101604052809291908181526020018280546106b990610e6f565b80156107065780601f106106db57610100808354040283529160200191610706565b820191906000526020600020905b8154815290600101906020018083116106e957829003601f168201915b50505050508152602001906001019061066e565b60606013805480602002602001604051908101604052809291908181526020016000905b828210156106415760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156107e857602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116107aa5790505b5050505050815250508152602001906001019061073e565b60606010805480602002602001604051908101604052809291908181526020016000905b8282101561064157838290600052602060002001805461084390610e6f565b80601f016020809104026020016040519081016040528092919081815260200182805461086f90610e6f565b80156108bc5780601f10610891576101008083540402835291602001916108bc565b820191906000526020600020905b81548152906001019060200180831161089f57829003601f168201915b505050505081526020019060010190610824565b60008054610100900460ff16156108f05750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156109f65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b8284015282518083038401815260608301909352600092909161097e917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610ea9565b60408051601f198184030181529082905261099891610eda565b6000604051808303816000865af19150503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b50915050808060200190518101906109f29190610ef6565b9150505b919050565b6060600c8054806020026020016040519081016040528092919081815260200182805480156102c5576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102a7575050505050905090565b808214610b82577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051610acc9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a160408051818152600a81830152690808080808081319599d60b21b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a81830152690808080808149a59da1d60b21b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a1610b82610b86565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610c815760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610c209291602001610ea9565b60408051601f1981840301815290829052610c3a91610eda565b6000604051808303816000865af19150503d8060008114610c77576040519150601f19603f3d011682016040523d82523d6000602084013e610c7c565b606091505b505050505b6000805461ff001916610100179055565b6101c680610f2083390190565b6020808252825182820181905260009190848201906040850190845b81811015610ce05783516001600160a01b031683529284019291840191600101610cbb565b50909695505050505050565b600060208284031215610cfe57600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610da957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610d945783516001600160e01b0319168252928b019260019290920191908b0190610d6a565b50978a01979550505091870191600101610d2d565b50919998505050505050505050565b60005b83811015610dd3578181015183820152602001610dbb565b50506000910152565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610e4957878503603f1901845281518051808752610e2a818989018a8501610db8565b601f01601f191695909501860194509285019290850190600101610e03565b5092979650505050505050565b600060208284031215610e6857600080fd5b5051919050565b600181811c90821680610e8357607f821691505b602082108103610ea357634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610ecc816004850160208701610db8565b919091016004019392505050565b60008251610eec818460208701610db8565b9190910192915050565b600060208284031215610f0857600080fd5b81518015158114610f1857600080fd5b939250505056fe60806040526000805534801561001457600080fd5b506101a2806100246000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063452707c11161005b578063452707c1146100b95780637b74087e146100b95780638381f58a146100c1578063d09de08a146100ca57600080fd5b806334945b3a1461008257806338cd26de1461009c5780633fb5c1cb146100a6575b600080fd5b61008a600281565b60405190815260200160405180910390f35b6100a46100d2565b005b6100a46100b436600461010b565b600055565b6100a46100dc565b61008a60005481565b6100a46100f5565b6100da6100f5565b565b60026000808282546100ee919061013a565b9091555050565b60008054908061010483610153565b9190505550565b60006020828403121561011d57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561014d5761014d610124565b92915050565b60006001820161016557610165610124565b506001019056fea2646970667358221220534a56c191ae15c1b9c3e47af525db89c8309095129605172edb482a52b6675864736f6c63430008140033a2646970667358221220e7056fd15dccbb98cd05daa5aabc4285bb6548377a820a82a4c7d2c42259481864736f6c63430008140033", - "sourceMap": "161:402:47:-:0;;;1572:26:0;;;1594:4;-1:-1:-1;;1572:26:0;;;;;;;;3126:44:3;;;;;;;;;;;161:402:47;;;;;;;;;;;;;;;;", + "sourceMap": "161:402:54:-:0;;;1572:26:0;;;1594:4;-1:-1:-1;;1572:26:0;;;;;;;;3126:44:4;;;;;;;;;;;161:402:54;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806366d9a9a01161008c578063b5508aa911610066578063b5508aa91461019f578063ba414fa6146101a7578063e20c9f71146101bf578063fa7626d4146101c757600080fd5b806366d9a9a01461016d57806385226c8114610182578063916a17c61461019757600080fd5b80633f7286f4116100c85780633f7286f41461011f5780634820a105146101275780635c7f60d71461012f57806361bc221a1461014257600080fd5b80630a9254e4146100ef5780631ed7831c146100f95780633e5e3c2314610117575b600080fd5b6100f76101d4565b005b61010161026d565b60405161010e9190610c9f565b60405180910390f35b6101016102cf565b61010161032f565b6100f761038f565b6100f761013d366004610cec565b61047a565b601b54610155906001600160a01b031681565b6040516001600160a01b03909116815260200161010e565b61017561055b565b60405161010e9190610d05565b61018a61064a565b60405161010e9190610ddc565b61017561071a565b61018a610800565b6101af6108d0565b604051901515815260200161010e565b6101016109fb565b6000546101af9060ff1681565b6040516101e090610c92565b604051809103906000f0801580156101fc573d6000803e3d6000fd5b50601b80546001600160a01b0319166001600160a01b03929092169182179055604051633fb5c1cb60e01b815260006004820152633fb5c1cb90602401600060405180830381600087803b15801561025357600080fd5b505af1158015610267573d6000803e3d6000fd5b50505050565b6060600d8054806020026020016040519081016040528092919081815260200182805480156102c557602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102a7575b5050505050905090565b6060600f8054806020026020016040519081016040528092919081815260200182805480156102c5576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102a7575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156102c5576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102a7575050505050905090565b601b60009054906101000a90046001600160a01b03166001600160a01b031663d09de08a6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103df57600080fd5b505af11580156103f3573d6000803e3d6000fd5b50505050610478601b60009054906101000a90046001600160a01b03166001600160a01b0316638381f58a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561044d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104719190610e56565b6001610a5b565b565b601b54604051633fb5c1cb60e01b8152600481018390526001600160a01b0390911690633fb5c1cb90602401600060405180830381600087803b1580156104c057600080fd5b505af11580156104d4573d6000803e3d6000fd5b50505050610558601b60009054906101000a90046001600160a01b03166001600160a01b0316638381f58a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561052e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105529190610e56565b82610a5b565b50565b60606012805480602002602001604051908101604052809291908181526020016000905b828210156106415760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561062957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105eb5790505b5050505050815250508152602001906001019061057f565b50505050905090565b60606011805480602002602001604051908101604052809291908181526020016000905b8282101561064157838290600052602060002001805461068d90610e6f565b80601f01602080910402602001604051908101604052809291908181526020018280546106b990610e6f565b80156107065780601f106106db57610100808354040283529160200191610706565b820191906000526020600020905b8154815290600101906020018083116106e957829003601f168201915b50505050508152602001906001019061066e565b60606013805480602002602001604051908101604052809291908181526020016000905b828210156106415760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156107e857602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116107aa5790505b5050505050815250508152602001906001019061073e565b60606010805480602002602001604051908101604052809291908181526020016000905b8282101561064157838290600052602060002001805461084390610e6f565b80601f016020809104026020016040519081016040528092919081815260200182805461086f90610e6f565b80156108bc5780601f10610891576101008083540402835291602001916108bc565b820191906000526020600020905b81548152906001019060200180831161089f57829003601f168201915b505050505081526020019060010190610824565b60008054610100900460ff16156108f05750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156109f65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b8284015282518083038401815260608301909352600092909161097e917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610ea9565b60408051601f198184030181529082905261099891610eda565b6000604051808303816000865af19150503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b50915050808060200190518101906109f29190610ef6565b9150505b919050565b6060600c8054806020026020016040519081016040528092919081815260200182805480156102c5576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102a7575050505050905090565b808214610b82577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051610acc9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a160408051818152600a81830152690808080808081319599d60b21b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a81830152690808080808149a59da1d60b21b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a1610b82610b86565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610c815760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610c209291602001610ea9565b60408051601f1981840301815290829052610c3a91610eda565b6000604051808303816000865af19150503d8060008114610c77576040519150601f19603f3d011682016040523d82523d6000602084013e610c7c565b606091505b505050505b6000805461ff001916610100179055565b6101c680610f2083390190565b6020808252825182820181905260009190848201906040850190845b81811015610ce05783516001600160a01b031683529284019291840191600101610cbb565b50909695505050505050565b600060208284031215610cfe57600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610da957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610d945783516001600160e01b0319168252928b019260019290920191908b0190610d6a565b50978a01979550505091870191600101610d2d565b50919998505050505050505050565b60005b83811015610dd3578181015183820152602001610dbb565b50506000910152565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610e4957878503603f1901845281518051808752610e2a818989018a8501610db8565b601f01601f191695909501860194509285019290850190600101610e03565b5092979650505050505050565b600060208284031215610e6857600080fd5b5051919050565b600181811c90821680610e8357607f821691505b602082108103610ea357634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610ecc816004850160208701610db8565b919091016004019392505050565b60008251610eec818460208701610db8565b9190910192915050565b600060208284031215610f0857600080fd5b81518015158114610f1857600080fd5b939250505056fe60806040526000805534801561001457600080fd5b506101a2806100246000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063452707c11161005b578063452707c1146100b95780637b74087e146100b95780638381f58a146100c1578063d09de08a146100ca57600080fd5b806334945b3a1461008257806338cd26de1461009c5780633fb5c1cb146100a6575b600080fd5b61008a600281565b60405190815260200160405180910390f35b6100a46100d2565b005b6100a46100b436600461010b565b600055565b6100a46100dc565b61008a60005481565b6100a46100f5565b6100da6100f5565b565b60026000808282546100ee919061013a565b9091555050565b60008054908061010483610153565b9190505550565b60006020828403121561011d57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561014d5761014d610124565b92915050565b60006001820161016557610165610124565b506001019056fea2646970667358221220534a56c191ae15c1b9c3e47af525db89c8309095129605172edb482a52b6675864736f6c63430008140033a2646970667358221220e7056fd15dccbb98cd05daa5aabc4285bb6548377a820a82a4c7d2c42259481864736f6c63430008140033", - "sourceMap": "161:402:47:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;225:94;;;:::i;:::-;;2170:134:6;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2939:133;;;:::i;2640:141::-;;;:::i;325:108:47:-;;;:::i;439:122::-;;;;;;:::i;:::-;;:::i;196:22::-;;;;;-1:-1:-1;;;;;196:22:47;;;;;;-1:-1:-1;;;;;1043:32:48;;;1025:51;;1013:2;998:18;196:22:47;862:220:48;2456:178:6;;;:::i;:::-;;;;;;;:::i;2310:140::-;;;:::i;:::-;;;;;;;:::i;2787:146::-;;;:::i;1875:141::-;;;:::i;1819:584:0:-;;;:::i;:::-;;;4098:14:48;;4091:22;4073:41;;4061:2;4046:18;1819:584:0;3933:187:48;2022:142:6;;;:::i;1572:26:0:-;;;;;;;;;225:94:47;269:13;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;259:7:47;:23;;-1:-1:-1;;;;;;259:23:47;-1:-1:-1;;;;;259:23:47;;;;;;;;;292:20;;-1:-1:-1;;;292:20:47;;-1:-1:-1;292:20:47;;;4279:25:48;292:17:47;;4252:18:48;;292:20:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;225:94::o;2170:134:6:-;2217:33;2281:16;2262:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2262:35:6;;;;;;;;;;;;;;;;;;;;;;;2170:134;:::o;2939:133::-;2985:33;3049:16;3030:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3030:35:6;;;;;;;;;;;;;;;;;;;;;;2939:133;:::o;2640:141::-;2688:35;2756:18;2735:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2735:39:6;;;;;;;;;;;;;;;;;;;;;;2640:141;:::o;325:108:47:-;368:7;;;;;;;;;-1:-1:-1;;;;;368:7:47;-1:-1:-1;;;;;368:17:47;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;397:29;406:7;;;;;;;;;-1:-1:-1;;;;;406:7:47;-1:-1:-1;;;;;406:14:47;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;424:1;397:8;:29::i;:::-;325:108::o;439:122::-;495:7;;:20;;-1:-1:-1;;;495:20:47;;;;;4279:25:48;;;-1:-1:-1;;;;;495:7:47;;;;:17;;4252:18:48;;495:20:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;525:29;534:7;;;;;;;;;-1:-1:-1;;;;;534:7:47;-1:-1:-1;;;;;534:14:47;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;552:1;525:8;:29::i;:::-;439:122;:::o;2456:178:6:-;2512:48;2601:26;2572:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2572:55:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2572:55:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2456:178;:::o;2310:140::-;2358:34;2425:18;2404:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2787:146;2835:40;2908:18;2887:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2887:39:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2887:39:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1875:141;1924:34;1991:18;1970:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:0;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:0;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;5245:51:48;;;-1:-1:-1;;;5312:18:48;;;5305:34;2196:43:0;;;;;;;;;5218:18:48;;;2196:43:0;;;-1:-1:-1;;1671:64:0;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:0;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:0:o;2022:142:6:-;2071:35;2139:18;2118:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2118:39:6;;;;;;;;;;;;;;;;;;;;;;2022:142;:::o;5209:262:0:-;5271:1;5266;:6;5262:203;;5293:41;;;;;6515:2:48;6497:21;;;6554:2;6534:18;;;6527:30;6593:34;6588:2;6573:18;;6566:62;-1:-1:-1;;;6659:2:48;6644:18;;6637:32;6701:3;6686:19;;6313:398;5293:41:0;;;;;;;;5353:31;;;6928:21:48;;;6985:2;6965:18;;;6958:30;-1:-1:-1;;;7019:2:48;7004:18;;6997:40;7104:4;7089:20;;7082:36;;;5353:31:0;;;;;;;7069:3:48;5353:31:0;;;5403;;;7341:21:48;;;7398:2;7378:18;;;7371:30;-1:-1:-1;;;7432:2:48;7417:18;;7410:40;7517:4;7502:20;;7495:36;;;5403:31:0;;;;;;;7482:3:48;5403:31:0;;;5448:6;:4;:6::i;:::-;5209:262;;:::o;2409:432::-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;7744:51:48;;;-1:-1:-1;;;7811:18:48;;;7804:34;;;;2712:4:0;7854:18:48;;;7847:34;2489:11:0;;1671:64;2586:43;;7717:18:48;;2652:67:0;;;-1:-1:-1;;2652:67:0;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;-1:-1:-1;;2541:196:0;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:0;2820:7;:14;;-1:-1:-1;;2820:14:0;;;;;2409:432::o;-1:-1:-1:-;;;;;;;;:::o;14:658:48:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:195;465:6;462:1;459:13;451:195;;;530:13;;-1:-1:-1;;;;;526:39:48;514:52;;621:15;;;;586:12;;;;562:1;480:9;451:195;;;-1:-1:-1;663:3:48;;14:658;-1:-1:-1;;;;;;14:658:48:o;677:180::-;736:6;789:2;777:9;768:7;764:23;760:32;757:52;;;805:1;802;795:12;757:52;-1:-1:-1;828:23:48;;677:180;-1:-1:-1;677:180:48:o;1087:1567::-;1289:4;1318:2;1358;1347:9;1343:18;1388:2;1377:9;1370:21;1411:6;1446;1440:13;1477:6;1469;1462:22;1503:2;1493:12;;1536:2;1525:9;1521:18;1514:25;;1598:2;1588:6;1585:1;1581:14;1570:9;1566:30;1562:39;1636:2;1628:6;1624:15;1657:1;1678;1688:937;1704:6;1699:3;1696:15;1688:937;;;1773:22;;;-1:-1:-1;;1769:36:48;1757:49;;1829:13;;1916:9;;-1:-1:-1;;;;;1912:35:48;1897:51;;1987:11;;1981:18;2019:15;;;2012:27;;;2100:19;;1869:15;;;2132:24;;;2222:21;;;;2267:1;;2190:2;2178:15;;;2281:236;2297:8;2292:3;2289:17;2281:236;;;2378:15;;-1:-1:-1;;;;;;2374:42:48;2360:57;;2486:17;;;;2325:1;2316:11;;;;;2443:14;;;;2281:236;;;-1:-1:-1;2603:12:48;;;;2540:5;-1:-1:-1;;;2568:15:48;;;;1730:1;1721:11;1688:937;;;-1:-1:-1;2642:6:48;;1087:1567;-1:-1:-1;;;;;;;;;1087:1567:48:o;2659:250::-;2744:1;2754:113;2768:6;2765:1;2762:13;2754:113;;;2844:11;;;2838:18;2825:11;;;2818:39;2790:2;2783:10;2754:113;;;-1:-1:-1;;2901:1:48;2883:16;;2876:27;2659:250::o;2914:1014::-;3076:4;3105:2;3145;3134:9;3130:18;3175:2;3164:9;3157:21;3198:6;3233;3227:13;3264:6;3256;3249:22;3302:2;3291:9;3287:18;3280:25;;3364:2;3354:6;3351:1;3347:14;3336:9;3332:30;3328:39;3314:53;;3402:2;3394:6;3390:15;3423:1;3433:466;3447:6;3444:1;3441:13;3433:466;;;3512:22;;;-1:-1:-1;;3508:36:48;3496:49;;3568:13;;3610:9;;3632:24;;;3669:74;3610:9;3717:15;;;3704:11;;;3669:74;:::i;:::-;3809:2;3786:17;-1:-1:-1;;3782:31:48;3770:44;;;;3766:53;;;-1:-1:-1;3877:12:48;;;;3842:15;;;;3469:1;3462:9;3433:466;;;-1:-1:-1;3916:6:48;;2914:1014;-1:-1:-1;;;;;;;2914:1014:48:o;4315:184::-;4385:6;4438:2;4426:9;4417:7;4413:23;4409:32;4406:52;;;4454:1;4451;4444:12;4406:52;-1:-1:-1;4477:16:48;;4315:184;-1:-1:-1;4315:184:48:o;4686:380::-;4765:1;4761:12;;;;4808;;;4829:61;;4883:4;4875:6;4871:17;4861:27;;4829:61;4936:2;4928:6;4925:14;4905:18;4902:38;4899:161;;4982:10;4977:3;4973:20;4970:1;4963:31;5017:4;5014:1;5007:15;5045:4;5042:1;5035:15;4899:161;;4686:380;;;:::o;5350:384::-;-1:-1:-1;;;;;;5535:33:48;;5523:46;;5592:13;;5505:3;;5614:74;5592:13;5677:1;5668:11;;5661:4;5649:17;;5614:74;:::i;:::-;5708:16;;;;5726:1;5704:24;;5350:384;-1:-1:-1;;;5350:384:48:o;5739:287::-;5868:3;5906:6;5900:13;5922:66;5981:6;5976:3;5969:4;5961:6;5957:17;5922:66;:::i;:::-;6004:16;;;;;5739:287;-1:-1:-1;;5739:287:48:o;6031:277::-;6098:6;6151:2;6139:9;6130:7;6126:23;6122:32;6119:52;;;6167:1;6164;6157:12;6119:52;6199:9;6193:16;6252:5;6245:13;6238:21;6231:5;6228:32;6218:60;;6274:1;6271;6264:12;6218:60;6297:5;6031:277;-1:-1:-1;;;6031:277:48:o", + "sourceMap": "161:402:54:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;225:94;;;:::i;:::-;;2170:134:7;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2939:133;;;:::i;2640:141::-;;;:::i;325:108:54:-;;;:::i;439:122::-;;;;;;:::i;:::-;;:::i;196:22::-;;;;;-1:-1:-1;;;;;196:22:54;;;;;;-1:-1:-1;;;;;1043:32:55;;;1025:51;;1013:2;998:18;196:22:54;862:220:55;2456:178:7;;;:::i;:::-;;;;;;;:::i;2310:140::-;;;:::i;:::-;;;;;;;:::i;2787:146::-;;;:::i;1875:141::-;;;:::i;1819:584:0:-;;;:::i;:::-;;;4098:14:55;;4091:22;4073:41;;4061:2;4046:18;1819:584:0;3933:187:55;2022:142:7;;;:::i;1572:26:0:-;;;;;;;;;225:94:54;269:13;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;259:7:54;:23;;-1:-1:-1;;;;;;259:23:54;-1:-1:-1;;;;;259:23:54;;;;;;;;;292:20;;-1:-1:-1;;;292:20:54;;-1:-1:-1;292:20:54;;;4279:25:55;292:17:54;;4252:18:55;;292:20:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;225:94::o;2170:134:7:-;2217:33;2281:16;2262:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2262:35:7;;;;;;;;;;;;;;;;;;;;;;;2170:134;:::o;2939:133::-;2985:33;3049:16;3030:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3030:35:7;;;;;;;;;;;;;;;;;;;;;;2939:133;:::o;2640:141::-;2688:35;2756:18;2735:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2735:39:7;;;;;;;;;;;;;;;;;;;;;;2640:141;:::o;325:108:54:-;368:7;;;;;;;;;-1:-1:-1;;;;;368:7:54;-1:-1:-1;;;;;368:17:54;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;397:29;406:7;;;;;;;;;-1:-1:-1;;;;;406:7:54;-1:-1:-1;;;;;406:14:54;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;424:1;397:8;:29::i;:::-;325:108::o;439:122::-;495:7;;:20;;-1:-1:-1;;;495:20:54;;;;;4279:25:55;;;-1:-1:-1;;;;;495:7:54;;;;:17;;4252:18:55;;495:20:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;525:29;534:7;;;;;;;;;-1:-1:-1;;;;;534:7:54;-1:-1:-1;;;;;534:14:54;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;552:1;525:8;:29::i;:::-;439:122;:::o;2456:178:7:-;2512:48;2601:26;2572:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2572:55:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2572:55:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2456:178;:::o;2310:140::-;2358:34;2425:18;2404:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2787:146;2835:40;2908:18;2887:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2887:39:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2887:39:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1875:141;1924:34;1991:18;1970:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:0;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:0;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;5245:51:55;;;-1:-1:-1;;;5312:18:55;;;5305:34;2196:43:0;;;;;;;;;5218:18:55;;;2196:43:0;;;-1:-1:-1;;1671:64:0;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:0;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:0:o;2022:142:7:-;2071:35;2139:18;2118:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2118:39:7;;;;;;;;;;;;;;;;;;;;;;2022:142;:::o;5209:262:0:-;5271:1;5266;:6;5262:203;;5293:41;;;;;6515:2:55;6497:21;;;6554:2;6534:18;;;6527:30;6593:34;6588:2;6573:18;;6566:62;-1:-1:-1;;;6659:2:55;6644:18;;6637:32;6701:3;6686:19;;6313:398;5293:41:0;;;;;;;;5353:31;;;6928:21:55;;;6985:2;6965:18;;;6958:30;-1:-1:-1;;;7019:2:55;7004:18;;6997:40;7104:4;7089:20;;7082:36;;;5353:31:0;;;;;;;7069:3:55;5353:31:0;;;5403;;;7341:21:55;;;7398:2;7378:18;;;7371:30;-1:-1:-1;;;7432:2:55;7417:18;;7410:40;7517:4;7502:20;;7495:36;;;5403:31:0;;;;;;;7482:3:55;5403:31:0;;;5448:6;:4;:6::i;:::-;5209:262;;:::o;2409:432::-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;7744:51:55;;;-1:-1:-1;;;7811:18:55;;;7804:34;;;;2712:4:0;7854:18:55;;;7847:34;2489:11:0;;1671:64;2586:43;;7717:18:55;;2652:67:0;;;-1:-1:-1;;2652:67:0;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;-1:-1:-1;;2541:196:0;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:0;2820:7;:14;;-1:-1:-1;;2820:14:0;;;;;2409:432::o;-1:-1:-1:-;;;;;;;;:::o;14:658:55:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:195;465:6;462:1;459:13;451:195;;;530:13;;-1:-1:-1;;;;;526:39:55;514:52;;621:15;;;;586:12;;;;562:1;480:9;451:195;;;-1:-1:-1;663:3:55;;14:658;-1:-1:-1;;;;;;14:658:55:o;677:180::-;736:6;789:2;777:9;768:7;764:23;760:32;757:52;;;805:1;802;795:12;757:52;-1:-1:-1;828:23:55;;677:180;-1:-1:-1;677:180:55:o;1087:1567::-;1289:4;1318:2;1358;1347:9;1343:18;1388:2;1377:9;1370:21;1411:6;1446;1440:13;1477:6;1469;1462:22;1503:2;1493:12;;1536:2;1525:9;1521:18;1514:25;;1598:2;1588:6;1585:1;1581:14;1570:9;1566:30;1562:39;1636:2;1628:6;1624:15;1657:1;1678;1688:937;1704:6;1699:3;1696:15;1688:937;;;1773:22;;;-1:-1:-1;;1769:36:55;1757:49;;1829:13;;1916:9;;-1:-1:-1;;;;;1912:35:55;1897:51;;1987:11;;1981:18;2019:15;;;2012:27;;;2100:19;;1869:15;;;2132:24;;;2222:21;;;;2267:1;;2190:2;2178:15;;;2281:236;2297:8;2292:3;2289:17;2281:236;;;2378:15;;-1:-1:-1;;;;;;2374:42:55;2360:57;;2486:17;;;;2325:1;2316:11;;;;;2443:14;;;;2281:236;;;-1:-1:-1;2603:12:55;;;;2540:5;-1:-1:-1;;;2568:15:55;;;;1730:1;1721:11;1688:937;;;-1:-1:-1;2642:6:55;;1087:1567;-1:-1:-1;;;;;;;;;1087:1567:55:o;2659:250::-;2744:1;2754:113;2768:6;2765:1;2762:13;2754:113;;;2844:11;;;2838:18;2825:11;;;2818:39;2790:2;2783:10;2754:113;;;-1:-1:-1;;2901:1:55;2883:16;;2876:27;2659:250::o;2914:1014::-;3076:4;3105:2;3145;3134:9;3130:18;3175:2;3164:9;3157:21;3198:6;3233;3227:13;3264:6;3256;3249:22;3302:2;3291:9;3287:18;3280:25;;3364:2;3354:6;3351:1;3347:14;3336:9;3332:30;3328:39;3314:53;;3402:2;3394:6;3390:15;3423:1;3433:466;3447:6;3444:1;3441:13;3433:466;;;3512:22;;;-1:-1:-1;;3508:36:55;3496:49;;3568:13;;3610:9;;3632:24;;;3669:74;3610:9;3717:15;;;3704:11;;;3669:74;:::i;:::-;3809:2;3786:17;-1:-1:-1;;3782:31:55;3770:44;;;;3766:53;;;-1:-1:-1;3877:12:55;;;;3842:15;;;;3469:1;3462:9;3433:466;;;-1:-1:-1;3916:6:55;;2914:1014;-1:-1:-1;;;;;;;2914:1014:55:o;4315:184::-;4385:6;4438:2;4426:9;4417:7;4413:23;4409:32;4406:52;;;4454:1;4451;4444:12;4406:52;-1:-1:-1;4477:16:55;;4315:184;-1:-1:-1;4315:184:55:o;4686:380::-;4765:1;4761:12;;;;4808;;;4829:61;;4883:4;4875:6;4871:17;4861:27;;4829:61;4936:2;4928:6;4925:14;4905:18;4902:38;4899:161;;4982:10;4977:3;4973:20;4970:1;4963:31;5017:4;5014:1;5007:15;5045:4;5042:1;5035:15;4899:161;;4686:380;;;:::o;5350:384::-;-1:-1:-1;;;;;;5535:33:55;;5523:46;;5592:13;;5505:3;;5614:74;5592:13;5677:1;5668:11;;5661:4;5649:17;;5614:74;:::i;:::-;5708:16;;;;5726:1;5704:24;;5350:384;-1:-1:-1;;;5350:384:55:o;5739:287::-;5868:3;5906:6;5900:13;5922:66;5981:6;5976:3;5969:4;5961:6;5957:17;5922:66;:::i;:::-;6004:16;;;;;5739:287;-1:-1:-1;;5739:287:55:o;6031:277::-;6098:6;6151:2;6139:9;6130:7;6126:23;6122:32;6119:52;;;6167:1;6164;6157:12;6119:52;6199:9;6193:16;6252:5;6245:13;6238:21;6231:5;6228:32;6218:60;;6274:1;6271;6264:12;6218:60;6297:5;6031:277;-1:-1:-1;;;6031:277:55:o", "linkReferences": {} }, "methodIdentifiers": { @@ -1348,28 +1348,28 @@ }, "ast": { "absolutePath": "test/Counter.t.sol", - "id": 47458, + "id": 48870, "exportedSymbols": { "Counter": [ - 46455 + 47603 ], "CounterTest": [ - 47457 + 48869 ], "Test": [ - 11898 + 11937 ], "console2": [ - 29614 + 29653 ] }, "nodeType": "SourceUnit", - "src": "39:525:47", + "src": "39:525:54", "nodes": [ { - "id": 47394, + "id": 48806, "nodeType": "PragmaDirective", - "src": "39:24:47", + "src": "39:24:54", "nodes": [], "literals": [ "solidity", @@ -1379,36 +1379,36 @@ ] }, { - "id": 47397, + "id": 48809, "nodeType": "ImportDirective", - "src": "65:50:47", + "src": "65:50:54", "nodes": [], "absolutePath": "lib/forge-std/src/Test.sol", "file": "forge-std/Test.sol", "nameLocation": "-1:-1:-1", - "scope": 47458, - "sourceUnit": 11899, + "scope": 48870, + "sourceUnit": 11938, "symbolAliases": [ { "foreign": { - "id": 47395, + "id": 48807, "name": "Test", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11898, - "src": "73:4:47", + "referencedDeclaration": 11937, + "src": "73:4:54", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { - "id": 47396, + "id": 48808, "name": "console2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29614, - "src": "79:8:47", + "referencedDeclaration": 29653, + "src": "79:8:54", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1417,24 +1417,24 @@ "unitAlias": "" }, { - "id": 47399, + "id": 48811, "nodeType": "ImportDirective", - "src": "116:43:47", + "src": "116:43:54", "nodes": [], "absolutePath": "src/Counter.sol", "file": "../src/Counter.sol", "nameLocation": "-1:-1:-1", - "scope": 47458, - "sourceUnit": 46456, + "scope": 48870, + "sourceUnit": 47604, "symbolAliases": [ { "foreign": { - "id": 47398, + "id": 48810, "name": "Counter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46455, - "src": "124:7:47", + "referencedDeclaration": 47603, + "src": "124:7:54", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1443,76 +1443,76 @@ "unitAlias": "" }, { - "id": 47457, + "id": 48869, "nodeType": "ContractDefinition", - "src": "161:402:47", + "src": "161:402:54", "nodes": [ { - "id": 47404, + "id": 48816, "nodeType": "VariableDeclaration", - "src": "196:22:47", + "src": "196:22:54", "nodes": [], "constant": false, "functionSelector": "61bc221a", "mutability": "mutable", "name": "counter", - "nameLocation": "211:7:47", - "scope": 47457, + "nameLocation": "211:7:54", + "scope": 48869, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_Counter_$46455", + "typeIdentifier": "t_contract$_Counter_$47603", "typeString": "contract Counter" }, "typeName": { - "id": 47403, + "id": 48815, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 47402, + "id": 48814, "name": "Counter", "nameLocations": [ - "196:7:47" + "196:7:54" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 46455, - "src": "196:7:47" + "referencedDeclaration": 47603, + "src": "196:7:54" }, - "referencedDeclaration": 46455, - "src": "196:7:47", + "referencedDeclaration": 47603, + "src": "196:7:54", "typeDescriptions": { - "typeIdentifier": "t_contract$_Counter_$46455", + "typeIdentifier": "t_contract$_Counter_$47603", "typeString": "contract Counter" } }, "visibility": "public" }, { - "id": 47421, + "id": 48833, "nodeType": "FunctionDefinition", - "src": "225:94:47", + "src": "225:94:54", "nodes": [], "body": { - "id": 47420, + "id": 48832, "nodeType": "Block", - "src": "249:70:47", + "src": "249:70:54", "nodes": [], "statements": [ { "expression": { - "id": 47412, + "id": 48824, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 47407, + "id": 48819, "name": "counter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47404, - "src": "259:7:47", + "referencedDeclaration": 48816, + "src": "259:7:54", "typeDescriptions": { - "typeIdentifier": "t_contract$_Counter_$46455", + "typeIdentifier": "t_contract$_Counter_$47603", "typeString": "contract Counter" } }, @@ -1522,39 +1522,39 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 47410, + "id": 48822, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "269:11:47", + "src": "269:11:54", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_Counter_$46455_$", + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_Counter_$47603_$", "typeString": "function () returns (contract Counter)" }, "typeName": { - "id": 47409, + "id": 48821, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 47408, + "id": 48820, "name": "Counter", "nameLocations": [ - "273:7:47" + "273:7:54" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 46455, - "src": "273:7:47" + "referencedDeclaration": 47603, + "src": "273:7:54" }, - "referencedDeclaration": 46455, - "src": "273:7:47", + "referencedDeclaration": 47603, + "src": "273:7:54", "typeDescriptions": { - "typeIdentifier": "t_contract$_Counter_$46455", + "typeIdentifier": "t_contract$_Counter_$47603", "typeString": "contract Counter" } } }, - "id": 47411, + "id": 48823, "isConstant": false, "isLValue": false, "isPure": false, @@ -1563,36 +1563,36 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "269:13:47", + "src": "269:13:54", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_Counter_$46455", + "typeIdentifier": "t_contract$_Counter_$47603", "typeString": "contract Counter" } }, - "src": "259:23:47", + "src": "259:23:54", "typeDescriptions": { - "typeIdentifier": "t_contract$_Counter_$46455", + "typeIdentifier": "t_contract$_Counter_$47603", "typeString": "contract Counter" } }, - "id": 47413, + "id": 48825, "nodeType": "ExpressionStatement", - "src": "259:23:47" + "src": "259:23:54" }, { "expression": { "arguments": [ { "hexValue": "30", - "id": 47417, + "id": 48829, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "310:1:47", + "src": "310:1:54", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -1608,33 +1608,33 @@ } ], "expression": { - "id": 47414, + "id": 48826, "name": "counter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47404, - "src": "292:7:47", + "referencedDeclaration": 48816, + "src": "292:7:54", "typeDescriptions": { - "typeIdentifier": "t_contract$_Counter_$46455", + "typeIdentifier": "t_contract$_Counter_$47603", "typeString": "contract Counter" } }, - "id": 47416, + "id": 48828, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "300:9:47", + "memberLocation": "300:9:54", "memberName": "setNumber", "nodeType": "MemberAccess", - "referencedDeclaration": 46420, - "src": "292:17:47", + "referencedDeclaration": 47568, + "src": "292:17:54", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 47418, + "id": 48830, "isConstant": false, "isLValue": false, "isPure": false, @@ -1643,16 +1643,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "292:20:47", + "src": "292:20:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 47419, + "id": 48831, "nodeType": "ExpressionStatement", - "src": "292:20:47" + "src": "292:20:54" } ] }, @@ -1661,33 +1661,33 @@ "kind": "function", "modifiers": [], "name": "setUp", - "nameLocation": "234:5:47", + "nameLocation": "234:5:54", "parameters": { - "id": 47405, + "id": 48817, "nodeType": "ParameterList", "parameters": [], - "src": "239:2:47" + "src": "239:2:54" }, "returnParameters": { - "id": 47406, + "id": 48818, "nodeType": "ParameterList", "parameters": [], - "src": "249:0:47" + "src": "249:0:54" }, - "scope": 47457, + "scope": 48869, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 47437, + "id": 48849, "nodeType": "FunctionDefinition", - "src": "325:108:47", + "src": "325:108:54", "nodes": [], "body": { - "id": 47436, + "id": 48848, "nodeType": "Block", - "src": "358:75:47", + "src": "358:75:54", "nodes": [], "statements": [ { @@ -1696,33 +1696,33 @@ "expression": { "argumentTypes": [], "expression": { - "id": 47424, + "id": 48836, "name": "counter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47404, - "src": "368:7:47", + "referencedDeclaration": 48816, + "src": "368:7:54", "typeDescriptions": { - "typeIdentifier": "t_contract$_Counter_$46455", + "typeIdentifier": "t_contract$_Counter_$47603", "typeString": "contract Counter" } }, - "id": 47426, + "id": 48838, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "376:9:47", + "memberLocation": "376:9:54", "memberName": "increment", "nodeType": "MemberAccess", - "referencedDeclaration": 46427, - "src": "368:17:47", + "referencedDeclaration": 47575, + "src": "368:17:54", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", "typeString": "function () external" } }, - "id": 47427, + "id": 48839, "isConstant": false, "isLValue": false, "isPure": false, @@ -1731,16 +1731,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "368:19:47", + "src": "368:19:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 47428, + "id": 48840, "nodeType": "ExpressionStatement", - "src": "368:19:47" + "src": "368:19:54" }, { "expression": { @@ -1750,33 +1750,33 @@ "expression": { "argumentTypes": [], "expression": { - "id": 47430, + "id": 48842, "name": "counter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47404, - "src": "406:7:47", + "referencedDeclaration": 48816, + "src": "406:7:54", "typeDescriptions": { - "typeIdentifier": "t_contract$_Counter_$46455", + "typeIdentifier": "t_contract$_Counter_$47603", "typeString": "contract Counter" } }, - "id": 47431, + "id": 48843, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "414:6:47", + "memberLocation": "414:6:54", "memberName": "number", "nodeType": "MemberAccess", - "referencedDeclaration": 46410, - "src": "406:14:47", + "referencedDeclaration": 47558, + "src": "406:14:54", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, - "id": 47432, + "id": 48844, "isConstant": false, "isLValue": false, "isPure": false, @@ -1785,7 +1785,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "406:16:47", + "src": "406:16:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1794,14 +1794,14 @@ }, { "hexValue": "31", - "id": 47433, + "id": 48845, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "424:1:47", + "src": "424:1:54", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -1820,20 +1820,20 @@ "typeString": "int_const 1" } ], - "id": 47429, + "id": 48841, "name": "assertEq", "nodeType": "Identifier", "overloadedDeclarations": [ - 2485, - 2510, - 2523, - 2539, - 2581, - 2623, - 2665, - 2702, - 2739, - 2776, + 2524, + 2549, + 2562, + 2578, + 2620, + 2662, + 2704, + 2741, + 2778, + 2815, 320, 345, 375, @@ -1846,13 +1846,13 @@ 2047 ], "referencedDeclaration": 514, - "src": "397:8:47", + "src": "397:8:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, - "id": 47434, + "id": 48846, "isConstant": false, "isLValue": false, "isPure": false, @@ -1861,16 +1861,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "397:29:47", + "src": "397:29:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 47435, + "id": 48847, "nodeType": "ExpressionStatement", - "src": "397:29:47" + "src": "397:29:54" } ] }, @@ -1879,45 +1879,45 @@ "kind": "function", "modifiers": [], "name": "test_Increment", - "nameLocation": "334:14:47", + "nameLocation": "334:14:54", "parameters": { - "id": 47422, + "id": 48834, "nodeType": "ParameterList", "parameters": [], - "src": "348:2:47" + "src": "348:2:54" }, "returnParameters": { - "id": 47423, + "id": 48835, "nodeType": "ParameterList", "parameters": [], - "src": "358:0:47" + "src": "358:0:54" }, - "scope": 47457, + "scope": 48869, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 47456, + "id": 48868, "nodeType": "FunctionDefinition", - "src": "439:122:47", + "src": "439:122:54", "nodes": [], "body": { - "id": 47455, + "id": 48867, "nodeType": "Block", - "src": "485:76:47", + "src": "485:76:54", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 47445, + "id": 48857, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47439, - "src": "513:1:47", + "referencedDeclaration": 48851, + "src": "513:1:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1932,33 +1932,33 @@ } ], "expression": { - "id": 47442, + "id": 48854, "name": "counter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47404, - "src": "495:7:47", + "referencedDeclaration": 48816, + "src": "495:7:54", "typeDescriptions": { - "typeIdentifier": "t_contract$_Counter_$46455", + "typeIdentifier": "t_contract$_Counter_$47603", "typeString": "contract Counter" } }, - "id": 47444, + "id": 48856, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "503:9:47", + "memberLocation": "503:9:54", "memberName": "setNumber", "nodeType": "MemberAccess", - "referencedDeclaration": 46420, - "src": "495:17:47", + "referencedDeclaration": 47568, + "src": "495:17:54", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 47446, + "id": 48858, "isConstant": false, "isLValue": false, "isPure": false, @@ -1967,16 +1967,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "495:20:47", + "src": "495:20:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 47447, + "id": 48859, "nodeType": "ExpressionStatement", - "src": "495:20:47" + "src": "495:20:54" }, { "expression": { @@ -1986,33 +1986,33 @@ "expression": { "argumentTypes": [], "expression": { - "id": 47449, + "id": 48861, "name": "counter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47404, - "src": "534:7:47", + "referencedDeclaration": 48816, + "src": "534:7:54", "typeDescriptions": { - "typeIdentifier": "t_contract$_Counter_$46455", + "typeIdentifier": "t_contract$_Counter_$47603", "typeString": "contract Counter" } }, - "id": 47450, + "id": 48862, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "542:6:47", + "memberLocation": "542:6:54", "memberName": "number", "nodeType": "MemberAccess", - "referencedDeclaration": 46410, - "src": "534:14:47", + "referencedDeclaration": 47558, + "src": "534:14:54", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, - "id": 47451, + "id": 48863, "isConstant": false, "isLValue": false, "isPure": false, @@ -2021,7 +2021,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "534:16:47", + "src": "534:16:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2029,12 +2029,12 @@ } }, { - "id": 47452, + "id": 48864, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47439, - "src": "552:1:47", + "referencedDeclaration": 48851, + "src": "552:1:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2052,20 +2052,20 @@ "typeString": "uint256" } ], - "id": 47448, + "id": 48860, "name": "assertEq", "nodeType": "Identifier", "overloadedDeclarations": [ - 2485, - 2510, - 2523, - 2539, - 2581, - 2623, - 2665, - 2702, - 2739, - 2776, + 2524, + 2549, + 2562, + 2578, + 2620, + 2662, + 2704, + 2741, + 2778, + 2815, 320, 345, 375, @@ -2078,13 +2078,13 @@ 2047 ], "referencedDeclaration": 514, - "src": "525:8:47", + "src": "525:8:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, - "id": 47453, + "id": 48865, "isConstant": false, "isLValue": false, "isPure": false, @@ -2093,16 +2093,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "525:29:47", + "src": "525:29:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 47454, + "id": 48866, "nodeType": "ExpressionStatement", - "src": "525:29:47" + "src": "525:29:54" } ] }, @@ -2111,20 +2111,20 @@ "kind": "function", "modifiers": [], "name": "testFuzz_SetNumber", - "nameLocation": "448:18:47", + "nameLocation": "448:18:54", "parameters": { - "id": 47440, + "id": 48852, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 47439, + "id": 48851, "mutability": "mutable", "name": "x", - "nameLocation": "475:1:47", + "nameLocation": "475:1:54", "nodeType": "VariableDeclaration", - "scope": 47456, - "src": "467:9:47", + "scope": 48868, + "src": "467:9:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2132,10 +2132,10 @@ "typeString": "uint256" }, "typeName": { - "id": 47438, + "id": 48850, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "467:7:47", + "src": "467:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2144,15 +2144,15 @@ "visibility": "internal" } ], - "src": "466:11:47" + "src": "466:11:54" }, "returnParameters": { - "id": 47441, + "id": 48853, "nodeType": "ParameterList", "parameters": [], - "src": "485:0:47" + "src": "485:0:54" }, - "scope": 47457, + "scope": 48869, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" @@ -2162,42 +2162,42 @@ "baseContracts": [ { "baseName": { - "id": 47400, + "id": 48812, "name": "Test", "nameLocations": [ - "185:4:47" + "185:4:54" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 11898, - "src": "185:4:47" + "referencedDeclaration": 11937, + "src": "185:4:54" }, - "id": 47401, + "id": 48813, "nodeType": "InheritanceSpecifier", - "src": "185:4:47" + "src": "185:4:54" } ], "canonicalName": "CounterTest", "contractDependencies": [ - 46455 + 47603 ], "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 47457, - 11898, + 48869, + 11937, 2357, 2354, - 11847, - 7585, - 7295, - 6531, - 4477, - 3784, + 11886, + 7624, + 7334, + 6570, + 4516, + 3823, 2291 ], "name": "CounterTest", - "nameLocation": "170:11:47", - "scope": 47458, + "nameLocation": "170:11:54", + "scope": 48870, "usedErrors": [], "usedEvents": [ 5, @@ -2216,16 +2216,16 @@ 73, 79, 85, - 2379, - 2384, - 2389, - 2396, - 2403, - 2410 + 2418, + 2423, + 2428, + 2435, + 2442, + 2449 ] } ], "license": "UNLICENSED" }, - "id": 47 + "id": 54 } \ No newline at end of file diff --git a/tests/contract-playground/out/DeprecatedOZFunctions.sol/DeprecatedOZFunctions.json b/tests/contract-playground/out/DeprecatedOZFunctions.sol/DeprecatedOZFunctions.json index 7fcf5002c..bbdc0e23d 100644 --- a/tests/contract-playground/out/DeprecatedOZFunctions.sol/DeprecatedOZFunctions.json +++ b/tests/contract-playground/out/DeprecatedOZFunctions.sol/DeprecatedOZFunctions.json @@ -374,12 +374,12 @@ ], "bytecode": { "object": "0x608060405234801561001057600080fd5b50610f83806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806391d148541161008c578063d9fc4b6111610066578063d9fc4b61146101d7578063e1f21c67146101ea578063eb5625d9146101fd578063fa82ac761461021057600080fd5b806391d14854146101a9578063a217fddf146101bc578063d547741f146101c457600080fd5b8063248a9ca3116100c8578063248a9ca31461013f5780632f2ff15d1461017057806336568abe1461018357806337c2a0061461019657600080fd5b806301ffc9a7146100ef5780630f018bec1461011757806315dacbea1461012c575b600080fd5b6101026100fd366004610c8d565b610223565b60405190151581526020015b60405180910390f35b61012a610125366004610ccc565b61025a565b005b61012a61013a366004610cfc565b610268565b61016261014d366004610d4d565b60009081526020819052604090206001015490565b60405190815260200161010e565b61012a61017e366004610ccc565b6102ea565b61012a610191366004610ccc565b610314565b6101026101a4366004610d66565b610393565b6101026101b7366004610ccc565b61050d565b610162600081565b61012a6101d2366004610ccc565b610536565b61012a6101e5366004610cfc565b61055b565b61012a6101f8366004610d66565b610576565b61012a61020b366004610d66565b6105e9565b61012a61021e366004610ccc565b6105fd565b60006001600160e01b03198216637965db0b60e01b148061025457506301ffc9a760e01b6001600160e01b03198316145b92915050565b61026482826102ea565b5050565b6040516323b872dd60e01b81526001600160a01b0384811660048301528381166024830152604482018390528516906323b872dd906064016020604051808303816000875af11580156102bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e39190610da7565b5050505050565b60008281526020819052604090206001015461030581610607565b61030f8383610614565b505050565b6001600160a01b03811633146103895760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6102648282610698565b60405163095ea7b360e01b81526001600160a01b038381166004830152602482018390526000919085169063095ea7b3906044016020604051808303816000875af11580156103e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040a9190610da7565b61041357600080fd5b60405163095ea7b360e01b81526001600160a01b0384811660048301526024820184905285169063095ea7b3906044016020604051808303816000875af1158015610462573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104869190610da7565b90508061049257600080fd5b60405163095ea7b360e01b81526001600160a01b0384811660048301526024820184905285169063095ea7b3906044016020604051808303816000875af11580156104e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105059190610da7565b949350505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60008281526020819052604090206001015461055181610607565b61030f8383610698565b6105706001600160a01b0385168484846106fd565b50505050565b60405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af11580156105c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105709190610da7565b61030f6001600160a01b0384168383610768565b610264828261087d565b6106118133610887565b50565b61061e828261050d565b610264576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556106543390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6106a2828261050d565b15610264576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6040516001600160a01b03808516602483015283166044820152606481018290526105709085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526108e0565b8015806107e25750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156107bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e09190610dc9565b155b61084d5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610380565b6040516001600160a01b03831660248201526044810182905261030f90849063095ea7b360e01b90606401610731565b6102648282610614565b610891828261050d565b6102645761089e816109b5565b6108a98360206109c7565b6040516020016108ba929190610e06565b60408051601f198184030181529082905262461bcd60e51b825261038091600401610e7b565b6000610935826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b6a9092919063ffffffff16565b90508051600014806109565750808060200190518101906109569190610da7565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610380565b60606102546001600160a01b03831660145b606060006109d6836002610ec4565b6109e1906002610edb565b67ffffffffffffffff8111156109f9576109f9610eee565b6040519080825280601f01601f191660200182016040528015610a23576020820181803683370190505b509050600360fc1b81600081518110610a3e57610a3e610f04565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610a6d57610a6d610f04565b60200101906001600160f81b031916908160001a9053506000610a91846002610ec4565b610a9c906001610edb565b90505b6001811115610b14576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610ad057610ad0610f04565b1a60f81b828281518110610ae657610ae6610f04565b60200101906001600160f81b031916908160001a90535060049490941c93610b0d81610f1a565b9050610a9f565b508315610b635760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610380565b9392505050565b6060610505848460008585600080866001600160a01b03168587604051610b919190610f31565b60006040518083038185875af1925050503d8060008114610bce576040519150601f19603f3d011682016040523d82523d6000602084013e610bd3565b606091505b5091509150610be487838387610bef565b979650505050505050565b60608315610c5e578251600003610c57576001600160a01b0385163b610c575760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610380565b5081610505565b6105058383815115610c735781518083602001fd5b8060405162461bcd60e51b81526004016103809190610e7b565b600060208284031215610c9f57600080fd5b81356001600160e01b031981168114610b6357600080fd5b6001600160a01b038116811461061157600080fd5b60008060408385031215610cdf57600080fd5b823591506020830135610cf181610cb7565b809150509250929050565b60008060008060808587031215610d1257600080fd5b8435610d1d81610cb7565b93506020850135610d2d81610cb7565b92506040850135610d3d81610cb7565b9396929550929360600135925050565b600060208284031215610d5f57600080fd5b5035919050565b600080600060608486031215610d7b57600080fd5b8335610d8681610cb7565b92506020840135610d9681610cb7565b929592945050506040919091013590565b600060208284031215610db957600080fd5b81518015158114610b6357600080fd5b600060208284031215610ddb57600080fd5b5051919050565b60005b83811015610dfd578181015183820152602001610de5565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351610e3e816017850160208801610de2565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351610e6f816028840160208801610de2565b01602801949350505050565b6020815260008251806020840152610e9a816040850160208701610de2565b601f01601f19169190910160400192915050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761025457610254610eae565b8082018082111561025457610254610eae565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081610f2957610f29610eae565b506000190190565b60008251610f43818460208701610de2565b919091019291505056fea26469706673582212206b94c5b300668c79b2df121bdd300244c3b7832dadd2d8f2cd3f9986797742dd64736f6c63430008140033", - "sourceMap": "261:1381:38:-:0;;;;;;;;;;;;;;;;;;;", + "sourceMap": "261:1381:44:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806391d148541161008c578063d9fc4b6111610066578063d9fc4b61146101d7578063e1f21c67146101ea578063eb5625d9146101fd578063fa82ac761461021057600080fd5b806391d14854146101a9578063a217fddf146101bc578063d547741f146101c457600080fd5b8063248a9ca3116100c8578063248a9ca31461013f5780632f2ff15d1461017057806336568abe1461018357806337c2a0061461019657600080fd5b806301ffc9a7146100ef5780630f018bec1461011757806315dacbea1461012c575b600080fd5b6101026100fd366004610c8d565b610223565b60405190151581526020015b60405180910390f35b61012a610125366004610ccc565b61025a565b005b61012a61013a366004610cfc565b610268565b61016261014d366004610d4d565b60009081526020819052604090206001015490565b60405190815260200161010e565b61012a61017e366004610ccc565b6102ea565b61012a610191366004610ccc565b610314565b6101026101a4366004610d66565b610393565b6101026101b7366004610ccc565b61050d565b610162600081565b61012a6101d2366004610ccc565b610536565b61012a6101e5366004610cfc565b61055b565b61012a6101f8366004610d66565b610576565b61012a61020b366004610d66565b6105e9565b61012a61021e366004610ccc565b6105fd565b60006001600160e01b03198216637965db0b60e01b148061025457506301ffc9a760e01b6001600160e01b03198316145b92915050565b61026482826102ea565b5050565b6040516323b872dd60e01b81526001600160a01b0384811660048301528381166024830152604482018390528516906323b872dd906064016020604051808303816000875af11580156102bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e39190610da7565b5050505050565b60008281526020819052604090206001015461030581610607565b61030f8383610614565b505050565b6001600160a01b03811633146103895760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6102648282610698565b60405163095ea7b360e01b81526001600160a01b038381166004830152602482018390526000919085169063095ea7b3906044016020604051808303816000875af11580156103e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040a9190610da7565b61041357600080fd5b60405163095ea7b360e01b81526001600160a01b0384811660048301526024820184905285169063095ea7b3906044016020604051808303816000875af1158015610462573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104869190610da7565b90508061049257600080fd5b60405163095ea7b360e01b81526001600160a01b0384811660048301526024820184905285169063095ea7b3906044016020604051808303816000875af11580156104e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105059190610da7565b949350505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60008281526020819052604090206001015461055181610607565b61030f8383610698565b6105706001600160a01b0385168484846106fd565b50505050565b60405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af11580156105c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105709190610da7565b61030f6001600160a01b0384168383610768565b610264828261087d565b6106118133610887565b50565b61061e828261050d565b610264576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556106543390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6106a2828261050d565b15610264576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6040516001600160a01b03808516602483015283166044820152606481018290526105709085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526108e0565b8015806107e25750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156107bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e09190610dc9565b155b61084d5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610380565b6040516001600160a01b03831660248201526044810182905261030f90849063095ea7b360e01b90606401610731565b6102648282610614565b610891828261050d565b6102645761089e816109b5565b6108a98360206109c7565b6040516020016108ba929190610e06565b60408051601f198184030181529082905262461bcd60e51b825261038091600401610e7b565b6000610935826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b6a9092919063ffffffff16565b90508051600014806109565750808060200190518101906109569190610da7565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610380565b60606102546001600160a01b03831660145b606060006109d6836002610ec4565b6109e1906002610edb565b67ffffffffffffffff8111156109f9576109f9610eee565b6040519080825280601f01601f191660200182016040528015610a23576020820181803683370190505b509050600360fc1b81600081518110610a3e57610a3e610f04565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610a6d57610a6d610f04565b60200101906001600160f81b031916908160001a9053506000610a91846002610ec4565b610a9c906001610edb565b90505b6001811115610b14576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610ad057610ad0610f04565b1a60f81b828281518110610ae657610ae6610f04565b60200101906001600160f81b031916908160001a90535060049490941c93610b0d81610f1a565b9050610a9f565b508315610b635760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610380565b9392505050565b6060610505848460008585600080866001600160a01b03168587604051610b919190610f31565b60006040518083038185875af1925050503d8060008114610bce576040519150601f19603f3d011682016040523d82523d6000602084013e610bd3565b606091505b5091509150610be487838387610bef565b979650505050505050565b60608315610c5e578251600003610c57576001600160a01b0385163b610c575760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610380565b5081610505565b6105058383815115610c735781518083602001fd5b8060405162461bcd60e51b81526004016103809190610e7b565b600060208284031215610c9f57600080fd5b81356001600160e01b031981168114610b6357600080fd5b6001600160a01b038116811461061157600080fd5b60008060408385031215610cdf57600080fd5b823591506020830135610cf181610cb7565b809150509250929050565b60008060008060808587031215610d1257600080fd5b8435610d1d81610cb7565b93506020850135610d2d81610cb7565b92506040850135610d3d81610cb7565b9396929550929360600135925050565b600060208284031215610d5f57600080fd5b5035919050565b600080600060608486031215610d7b57600080fd5b8335610d8681610cb7565b92506020840135610d9681610cb7565b929592945050506040919091013590565b600060208284031215610db957600080fd5b81518015158114610b6357600080fd5b600060208284031215610ddb57600080fd5b5051919050565b60005b83811015610dfd578181015183820152602001610de5565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351610e3e816017850160208801610de2565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351610e6f816028840160208801610de2565b01602801949350505050565b6020815260008251806020840152610e9a816040850160208701610de2565b601f01601f19169190910160400192915050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761025457610254610eae565b8082018082111561025457610254610eae565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081610f2957610f29610eae565b506000190190565b60008251610f43818460208701610de2565b919091019291505056fea26469706673582212206b94c5b300668c79b2df121bdd300244c3b7832dadd2d8f2cd3f9986797742dd64736f6c63430008140033", - "sourceMap": "261:1381:38:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2732:202:18;;;;;;:::i;:::-;;:::i;:::-;;;470:14:48;;463:22;445:41;;433:2;418:18;2732:202:18;;;;;;;;360:101:38;;;;;;:::i;:::-;;:::i;:::-;;1502:138;;;;;;:::i;:::-;;:::i;4504:129:18:-;;;;;;:::i;:::-;4578:7;4604:12;;;;;;;;;;:22;;;;4504:129;;;;1903:25:48;;;1891:2;1876:18;4504:129:18;1757:177:48;4929:145:18;;;;;;:::i;:::-;;:::i;6038:214::-;;;;;;:::i;:::-;;:::i;1140:320:38:-;;;;;;:::i;:::-;;:::i;3021:145:18:-;;;;;;:::i;:::-;;:::i;2153:49::-;;2198:4;2153:49;;5354:147;;;;;;:::i;:::-;;:::i;479:146:38:-;;;;;;:::i;:::-;;:::i;980:118::-;;;;;;:::i;:::-;;:::i;812:126::-;;;;;;:::i;:::-;;:::i;668:101::-;;;;;;:::i;:::-;;:::i;2732:202:18:-;2817:4;-1:-1:-1;;;;;;2840:47:18;;-1:-1:-1;;;2840:47:18;;:87;;-1:-1:-1;;;;;;;;;;937:40:28;;;2891:36:18;2833:94;2732:202;-1:-1:-1;;2732:202:18:o;360:101:38:-;430:24;440:4;446:7;430:9;:24::i;:::-;360:101;;:::o;1502:138::-;1598:35;;-1:-1:-1;;;1598:35:38;;-1:-1:-1;;;;;2674:15:48;;;1598:35:38;;;2656:34:48;2726:15;;;2706:18;;;2699:43;2758:18;;;2751:34;;;1598:18:38;;;;;2591::48;;1598:35:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1502:138;;;;:::o;4929:145:18:-;4578:7;4604:12;;;;;;;;;;:22;;;2631:16;2642:4;2631:10;:16::i;:::-;5042:25:::1;5053:4;5059:7;5042:10;:25::i;:::-;4929:145:::0;;;:::o;6038:214::-;-1:-1:-1;;;;;6133:23:18;;719:10:26;6133:23:18;6125:83;;;;-1:-1:-1;;;6125:83:18;;3280:2:48;6125:83:18;;;3262:21:48;3319:2;3299:18;;;3292:30;3358:34;3338:18;;;3331:62;-1:-1:-1;;;3409:18:48;;;3402:45;3464:19;;6125:83:18;;;;;;;;;6219:26;6231:4;6237:7;6219:11;:26::i;1140:320:38:-;1272:29;;-1:-1:-1;;;1272:29:38;;-1:-1:-1;;;;;3686:32:48;;;1272:29:38;;;3668:51:48;3735:18;;;3728:34;;;1240:12:38;;1272:13;;;;;;3641:18:48;;1272:29:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1264:38;;;;;;1322:29;;-1:-1:-1;;;1322:29:38;;-1:-1:-1;;;;;3686:32:48;;;1322:29:38;;;3668:51:48;3735:18;;;3728:34;;;1322:13:38;;;;;3641:18:48;;1322:29:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1312:39;;1366:7;1361:47;;1389:8;;;1361:47;1424:29;;-1:-1:-1;;;1424:29:38;;-1:-1:-1;;;;;3686:32:48;;;1424:29:38;;;3668:51:48;3735:18;;;3728:34;;;1424:13:38;;;;;3641:18:48;;1424:29:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1417:36;1140:320;-1:-1:-1;;;;1140:320:38:o;3021:145:18:-;3107:4;3130:12;;;;;;;;;;;-1:-1:-1;;;;;3130:29:18;;;;;;;;;;;;;;;3021:145::o;5354:147::-;4578:7;4604:12;;;;;;;;;;:22;;;2631:16;2642:4;2631:10;:16::i;:::-;5468:26:::1;5480:4;5486:7;5468:11;:26::i;479:146:38:-:0;579:39;-1:-1:-1;;;;;579:22:38;;602:4;608:2;612:5;579:22;:39::i;:::-;479:146;;;;:::o;980:118::-;1062:29;;-1:-1:-1;;;1062:29:38;;-1:-1:-1;;;;;3686:32:48;;;1062:29:38;;;3668:51:48;3735:18;;;3728:34;;;1062:13:38;;;;;3641:18:48;;1062:29:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;812:126::-;898:33;-1:-1:-1;;;;;898:17:38;;916:7;925:5;898:17;:33::i;668:101::-;737:25;748:4;754:7;737:10;:25::i;3460:103:18:-;3526:30;3537:4;719:10:26;3526::18;:30::i;:::-;3460:103;:::o;7587:233::-;7670:22;7678:4;7684:7;7670;:22::i;:::-;7665:149;;7708:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7708:29:18;;;;;;;;;:36;;-1:-1:-1;;7708:36:18;7740:4;7708:36;;;7790:12;719:10:26;;640:96;7790:12:18;-1:-1:-1;;;;;7763:40:18;7781:7;-1:-1:-1;;;;;7763:40:18;7775:4;7763:40;;;;;;;;;;7587:233;;:::o;7991:234::-;8074:22;8082:4;8088:7;8074;:22::i;:::-;8070:149;;;8144:5;8112:12;;;;;;;;;;;-1:-1:-1;;;;;8112:29:18;;;;;;;;;;:37;;-1:-1:-1;;8112:37:18;;;8168:40;719:10:26;;8112:12:18;;8168:40;;8144:5;8168:40;7991:234;;:::o;1355:203:24:-;1482:68;;-1:-1:-1;;;;;2674:15:48;;;1482:68:24;;;2656:34:48;2726:15;;2706:18;;;2699:43;2758:18;;;2751:34;;;1455:96:24;;1475:5;;-1:-1:-1;;;1505:27:24;2591:18:48;;1482:68:24;;;;-1:-1:-1;;1482:68:24;;;;;;;;;;;;;;-1:-1:-1;;;;;1482:68:24;-1:-1:-1;;;;;;1482:68:24;;;;;;;;;;1455:19;:96::i;1818:573::-;2143:10;;;2142:62;;-1:-1:-1;2159:39:24;;-1:-1:-1;;;2159:39:24;;2183:4;2159:39;;;3985:34:48;-1:-1:-1;;;;;4055:15:48;;;4035:18;;;4028:43;2159:15:24;;;;;3920:18:48;;2159:39:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;2142:62;2121:163;;;;-1:-1:-1;;;2121:163:24;;4473:2:48;2121:163:24;;;4455:21:48;4512:2;4492:18;;;4485:30;4551:34;4531:18;;;4524:62;-1:-1:-1;;;4602:18:48;;;4595:52;4664:19;;2121:163:24;4271:418:48;2121:163:24;2321:62;;-1:-1:-1;;;;;3686:32:48;;2321:62:24;;;3668:51:48;3735:18;;;3728:34;;;2294:90:24;;2314:5;;-1:-1:-1;;;2344:22:24;3641:18:48;;2321:62:24;3494:274:48;6937:110:18;7015:25;7026:4;7032:7;7015:10;:25::i;3844:479::-;3932:22;3940:4;3946:7;3932;:22::i;:::-;3927:390;;4115:28;4135:7;4115:19;:28::i;:::-;4214:38;4242:4;4249:2;4214:19;:38::i;:::-;4022:252;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4022:252:18;;;;;;;;;;-1:-1:-1;;;3970:336:18;;;;;;;:::i;5196:642:24:-;5615:23;5641:69;5669:4;5641:69;;;;;;;;;;;;;;;;;5649:5;-1:-1:-1;;;;;5641:27:24;;;:69;;;;;:::i;:::-;5615:95;;5728:10;:17;5749:1;5728:22;:56;;;;5765:10;5754:30;;;;;;;;;;;;:::i;:::-;5720:111;;;;-1:-1:-1;;;5720:111:24;;6369:2:48;5720:111:24;;;6351:21:48;6408:2;6388:18;;;6381:30;6447:34;6427:18;;;6420:62;-1:-1:-1;;;6498:18:48;;;6491:40;6548:19;;5720:111:24;6167:406:48;2407:149:27;2465:13;2497:52;-1:-1:-1;;;;;2509:22:27;;343:2;1818:437;1893:13;1918:19;1950:10;1954:6;1950:1;:10;:::i;:::-;:14;;1963:1;1950:14;:::i;:::-;1940:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1940:25:27;;1918:47;;-1:-1:-1;;;1975:6:27;1982:1;1975:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1975:15:27;;;;;;;;;-1:-1:-1;;;2000:6:27;2007:1;2000:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2000:15:27;;;;;;;;-1:-1:-1;2030:9:27;2042:10;2046:6;2042:1;:10;:::i;:::-;:14;;2055:1;2042:14;:::i;:::-;2030:26;;2025:128;2062:1;2058;:5;2025:128;;;-1:-1:-1;;;2105:5:27;2113:3;2105:11;2096:21;;;;;;;:::i;:::-;;;;2084:6;2091:1;2084:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2084:33:27;;;;;;;;-1:-1:-1;2141:1:27;2131:11;;;;;2065:3;;;:::i;:::-;;;2025:128;;;-1:-1:-1;2170:10:27;;2162:55;;;;-1:-1:-1;;;2162:55:27;;7620:2:48;2162:55:27;;;7602:21:48;;;7639:18;;;7632:30;7698:34;7678:18;;;7671:62;7750:18;;2162:55:27;7418:356:48;2162:55:27;2241:6;1818:437;-1:-1:-1;;;1818:437:27:o;4108:223:25:-;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4241;5446;5460:23;5487:6;-1:-1:-1;;;;;5487:11:25;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;5165:446;-1:-1:-1;;;;;;;5165:446:25:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1702:19:25;;;8113:60;;;;-1:-1:-1;;;8113:60:25;;8680:2:48;8113:60:25;;;8662:21:48;8719:2;8699:18;;;8692:30;8758:31;8738:18;;;8731:59;8807:18;;8113:60:25;8478:353:48;8113:60:25;-1:-1:-1;8208:10:25;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:25;;;;;;;;:::i;14:286:48:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:48;;209:43;;199:71;;266:1;263;256:12;497:131;-1:-1:-1;;;;;572:31:48;;562:42;;552:70;;618:1;615;608:12;633:315;701:6;709;762:2;750:9;741:7;737:23;733:32;730:52;;;778:1;775;768:12;730:52;814:9;801:23;791:33;;874:2;863:9;859:18;846:32;887:31;912:5;887:31;:::i;:::-;937:5;927:15;;;633:315;;;;;:::o;953:614::-;1055:6;1063;1071;1079;1132:3;1120:9;1111:7;1107:23;1103:33;1100:53;;;1149:1;1146;1139:12;1100:53;1188:9;1175:23;1207:31;1232:5;1207:31;:::i;:::-;1257:5;-1:-1:-1;1314:2:48;1299:18;;1286:32;1327:33;1286:32;1327:33;:::i;:::-;1379:7;-1:-1:-1;1438:2:48;1423:18;;1410:32;1451:33;1410:32;1451:33;:::i;:::-;953:614;;;;-1:-1:-1;1503:7:48;;1557:2;1542:18;1529:32;;-1:-1:-1;;953:614:48:o;1572:180::-;1631:6;1684:2;1672:9;1663:7;1659:23;1655:32;1652:52;;;1700:1;1697;1690:12;1652:52;-1:-1:-1;1723:23:48;;1572:180;-1:-1:-1;1572:180:48:o;1939:472::-;2032:6;2040;2048;2101:2;2089:9;2080:7;2076:23;2072:32;2069:52;;;2117:1;2114;2107:12;2069:52;2156:9;2143:23;2175:31;2200:5;2175:31;:::i;:::-;2225:5;-1:-1:-1;2282:2:48;2267:18;;2254:32;2295:33;2254:32;2295:33;:::i;:::-;1939:472;;2347:7;;-1:-1:-1;;;2401:2:48;2386:18;;;;2373:32;;1939:472::o;2796:277::-;2863:6;2916:2;2904:9;2895:7;2891:23;2887:32;2884:52;;;2932:1;2929;2922:12;2884:52;2964:9;2958:16;3017:5;3010:13;3003:21;2996:5;2993:32;2983:60;;3039:1;3036;3029:12;4082:184;4152:6;4205:2;4193:9;4184:7;4180:23;4176:32;4173:52;;;4221:1;4218;4211:12;4173:52;-1:-1:-1;4244:16:48;;4082:184;-1:-1:-1;4082:184:48:o;4694:250::-;4779:1;4789:113;4803:6;4800:1;4797:13;4789:113;;;4879:11;;;4873:18;4860:11;;;4853:39;4825:2;4818:10;4789:113;;;-1:-1:-1;;4936:1:48;4918:16;;4911:27;4694:250::o;4949:812::-;5360:25;5355:3;5348:38;5330:3;5415:6;5409:13;5431:75;5499:6;5494:2;5489:3;5485:12;5478:4;5470:6;5466:17;5431:75;:::i;:::-;-1:-1:-1;;;5565:2:48;5525:16;;;5557:11;;;5550:40;5615:13;;5637:76;5615:13;5699:2;5691:11;;5684:4;5672:17;;5637:76;:::i;:::-;5733:17;5752:2;5729:26;;4949:812;-1:-1:-1;;;;4949:812:48:o;5766:396::-;5915:2;5904:9;5897:21;5878:4;5947:6;5941:13;5990:6;5985:2;5974:9;5970:18;5963:34;6006:79;6078:6;6073:2;6062:9;6058:18;6053:2;6045:6;6041:15;6006:79;:::i;:::-;6146:2;6125:15;-1:-1:-1;;6121:29:48;6106:45;;;;6153:2;6102:54;;5766:396;-1:-1:-1;;5766:396:48:o;6578:127::-;6639:10;6634:3;6630:20;6627:1;6620:31;6670:4;6667:1;6660:15;6694:4;6691:1;6684:15;6710:168;6783:9;;;6814;;6831:15;;;6825:22;;6811:37;6801:71;;6852:18;;:::i;6883:125::-;6948:9;;;6969:10;;;6966:36;;;6982:18;;:::i;7013:127::-;7074:10;7069:3;7065:20;7062:1;7055:31;7105:4;7102:1;7095:15;7129:4;7126:1;7119:15;7145:127;7206:10;7201:3;7197:20;7194:1;7187:31;7237:4;7234:1;7227:15;7261:4;7258:1;7251:15;7277:136;7316:3;7344:5;7334:39;;7353:18;;:::i;:::-;-1:-1:-1;;;7389:18:48;;7277:136::o;8186:287::-;8315:3;8353:6;8347:13;8369:66;8428:6;8423:3;8416:4;8408:6;8404:17;8369:66;:::i;:::-;8451:16;;;;;8186:287;-1:-1:-1;;8186:287:48:o", + "sourceMap": "261:1381:44:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2732:202:19;;;;;;:::i;:::-;;:::i;:::-;;;470:14:55;;463:22;445:41;;433:2;418:18;2732:202:19;;;;;;;;360:101:44;;;;;;:::i;:::-;;:::i;:::-;;1502:138;;;;;;:::i;:::-;;:::i;4504:129:19:-;;;;;;:::i;:::-;4578:7;4604:12;;;;;;;;;;:22;;;;4504:129;;;;1903:25:55;;;1891:2;1876:18;4504:129:19;1757:177:55;4929:145:19;;;;;;:::i;:::-;;:::i;6038:214::-;;;;;;:::i;:::-;;:::i;1140:320:44:-;;;;;;:::i;:::-;;:::i;3021:145:19:-;;;;;;:::i;:::-;;:::i;2153:49::-;;2198:4;2153:49;;5354:147;;;;;;:::i;:::-;;:::i;479:146:44:-;;;;;;:::i;:::-;;:::i;980:118::-;;;;;;:::i;:::-;;:::i;812:126::-;;;;;;:::i;:::-;;:::i;668:101::-;;;;;;:::i;:::-;;:::i;2732:202:19:-;2817:4;-1:-1:-1;;;;;;2840:47:19;;-1:-1:-1;;;2840:47:19;;:87;;-1:-1:-1;;;;;;;;;;937:40:33;;;2891:36:19;2833:94;2732:202;-1:-1:-1;;2732:202:19:o;360:101:44:-;430:24;440:4;446:7;430:9;:24::i;:::-;360:101;;:::o;1502:138::-;1598:35;;-1:-1:-1;;;1598:35:44;;-1:-1:-1;;;;;2674:15:55;;;1598:35:44;;;2656:34:55;2726:15;;;2706:18;;;2699:43;2758:18;;;2751:34;;;1598:18:44;;;;;2591::55;;1598:35:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1502:138;;;;:::o;4929:145:19:-;4578:7;4604:12;;;;;;;;;;:22;;;2631:16;2642:4;2631:10;:16::i;:::-;5042:25:::1;5053:4;5059:7;5042:10;:25::i;:::-;4929:145:::0;;;:::o;6038:214::-;-1:-1:-1;;;;;6133:23:19;;719:10:31;6133:23:19;6125:83;;;;-1:-1:-1;;;6125:83:19;;3280:2:55;6125:83:19;;;3262:21:55;3319:2;3299:18;;;3292:30;3358:34;3338:18;;;3331:62;-1:-1:-1;;;3409:18:55;;;3402:45;3464:19;;6125:83:19;;;;;;;;;6219:26;6231:4;6237:7;6219:11;:26::i;1140:320:44:-;1272:29;;-1:-1:-1;;;1272:29:44;;-1:-1:-1;;;;;3686:32:55;;;1272:29:44;;;3668:51:55;3735:18;;;3728:34;;;1240:12:44;;1272:13;;;;;;3641:18:55;;1272:29:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1264:38;;;;;;1322:29;;-1:-1:-1;;;1322:29:44;;-1:-1:-1;;;;;3686:32:55;;;1322:29:44;;;3668:51:55;3735:18;;;3728:34;;;1322:13:44;;;;;3641:18:55;;1322:29:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1312:39;;1366:7;1361:47;;1389:8;;;1361:47;1424:29;;-1:-1:-1;;;1424:29:44;;-1:-1:-1;;;;;3686:32:55;;;1424:29:44;;;3668:51:55;3735:18;;;3728:34;;;1424:13:44;;;;;3641:18:55;;1424:29:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1417:36;1140:320;-1:-1:-1;;;;1140:320:44:o;3021:145:19:-;3107:4;3130:12;;;;;;;;;;;-1:-1:-1;;;;;3130:29:19;;;;;;;;;;;;;;;3021:145::o;5354:147::-;4578:7;4604:12;;;;;;;;;;:22;;;2631:16;2642:4;2631:10;:16::i;:::-;5468:26:::1;5480:4;5486:7;5468:11;:26::i;479:146:44:-:0;579:39;-1:-1:-1;;;;;579:22:44;;602:4;608:2;612:5;579:22;:39::i;:::-;479:146;;;;:::o;980:118::-;1062:29;;-1:-1:-1;;;1062:29:44;;-1:-1:-1;;;;;3686:32:55;;;1062:29:44;;;3668:51:55;3735:18;;;3728:34;;;1062:13:44;;;;;3641:18:55;;1062:29:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;812:126::-;898:33;-1:-1:-1;;;;;898:17:44;;916:7;925:5;898:17;:33::i;668:101::-;737:25;748:4;754:7;737:10;:25::i;3460:103:19:-;3526:30;3537:4;719:10:31;3526::19;:30::i;:::-;3460:103;:::o;7587:233::-;7670:22;7678:4;7684:7;7670;:22::i;:::-;7665:149;;7708:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7708:29:19;;;;;;;;;:36;;-1:-1:-1;;7708:36:19;7740:4;7708:36;;;7790:12;719:10:31;;640:96;7790:12:19;-1:-1:-1;;;;;7763:40:19;7781:7;-1:-1:-1;;;;;7763:40:19;7775:4;7763:40;;;;;;;;;;7587:233;;:::o;7991:234::-;8074:22;8082:4;8088:7;8074;:22::i;:::-;8070:149;;;8144:5;8112:12;;;;;;;;;;;-1:-1:-1;;;;;8112:29:19;;;;;;;;;;:37;;-1:-1:-1;;8112:37:19;;;8168:40;719:10:31;;8112:12:19;;8168:40;;8144:5;8168:40;7991:234;;:::o;1355:203:25:-;1482:68;;-1:-1:-1;;;;;2674:15:55;;;1482:68:25;;;2656:34:55;2726:15;;2706:18;;;2699:43;2758:18;;;2751:34;;;1455:96:25;;1475:5;;-1:-1:-1;;;1505:27:25;2591:18:55;;1482:68:25;;;;-1:-1:-1;;1482:68:25;;;;;;;;;;;;;;-1:-1:-1;;;;;1482:68:25;-1:-1:-1;;;;;;1482:68:25;;;;;;;;;;1455:19;:96::i;1818:573::-;2143:10;;;2142:62;;-1:-1:-1;2159:39:25;;-1:-1:-1;;;2159:39:25;;2183:4;2159:39;;;3985:34:55;-1:-1:-1;;;;;4055:15:55;;;4035:18;;;4028:43;2159:15:25;;;;;3920:18:55;;2159:39:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;2142:62;2121:163;;;;-1:-1:-1;;;2121:163:25;;4473:2:55;2121:163:25;;;4455:21:55;4512:2;4492:18;;;4485:30;4551:34;4531:18;;;4524:62;-1:-1:-1;;;4602:18:55;;;4595:52;4664:19;;2121:163:25;4271:418:55;2121:163:25;2321:62;;-1:-1:-1;;;;;3686:32:55;;2321:62:25;;;3668:51:55;3735:18;;;3728:34;;;2294:90:25;;2314:5;;-1:-1:-1;;;2344:22:25;3641:18:55;;2321:62:25;3494:274:55;6937:110:19;7015:25;7026:4;7032:7;7015:10;:25::i;3844:479::-;3932:22;3940:4;3946:7;3932;:22::i;:::-;3927:390;;4115:28;4135:7;4115:19;:28::i;:::-;4214:38;4242:4;4249:2;4214:19;:38::i;:::-;4022:252;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4022:252:19;;;;;;;;;;-1:-1:-1;;;3970:336:19;;;;;;;:::i;5196:642:25:-;5615:23;5641:69;5669:4;5641:69;;;;;;;;;;;;;;;;;5649:5;-1:-1:-1;;;;;5641:27:25;;;:69;;;;;:::i;:::-;5615:95;;5728:10;:17;5749:1;5728:22;:56;;;;5765:10;5754:30;;;;;;;;;;;;:::i;:::-;5720:111;;;;-1:-1:-1;;;5720:111:25;;6369:2:55;5720:111:25;;;6351:21:55;6408:2;6388:18;;;6381:30;6447:34;6427:18;;;6420:62;-1:-1:-1;;;6498:18:55;;;6491:40;6548:19;;5720:111:25;6167:406:55;2407:149:32;2465:13;2497:52;-1:-1:-1;;;;;2509:22:32;;343:2;1818:437;1893:13;1918:19;1950:10;1954:6;1950:1;:10;:::i;:::-;:14;;1963:1;1950:14;:::i;:::-;1940:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1940:25:32;;1918:47;;-1:-1:-1;;;1975:6:32;1982:1;1975:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1975:15:32;;;;;;;;;-1:-1:-1;;;2000:6:32;2007:1;2000:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2000:15:32;;;;;;;;-1:-1:-1;2030:9:32;2042:10;2046:6;2042:1;:10;:::i;:::-;:14;;2055:1;2042:14;:::i;:::-;2030:26;;2025:128;2062:1;2058;:5;2025:128;;;-1:-1:-1;;;2105:5:32;2113:3;2105:11;2096:21;;;;;;;:::i;:::-;;;;2084:6;2091:1;2084:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2084:33:32;;;;;;;;-1:-1:-1;2141:1:32;2131:11;;;;;2065:3;;;:::i;:::-;;;2025:128;;;-1:-1:-1;2170:10:32;;2162:55;;;;-1:-1:-1;;;2162:55:32;;7620:2:55;2162:55:32;;;7602:21:55;;;7639:18;;;7632:30;7698:34;7678:18;;;7671:62;7750:18;;2162:55:32;7418:356:55;2162:55:32;2241:6;1818:437;-1:-1:-1;;;1818:437:32:o;4108:223:30:-;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4241;5446;5460:23;5487:6;-1:-1:-1;;;;;5487:11:30;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;5165:446;-1:-1:-1;;;;;;;5165:446:30:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1702:19:30;;;8113:60;;;;-1:-1:-1;;;8113:60:30;;8680:2:55;8113:60:30;;;8662:21:55;8719:2;8699:18;;;8692:30;8758:31;8738:18;;;8731:59;8807:18;;8113:60:30;8478:353:55;8113:60:30;-1:-1:-1;8208:10:30;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:30;;;;;;;;:::i;14:286:55:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:55;;209:43;;199:71;;266:1;263;256:12;497:131;-1:-1:-1;;;;;572:31:55;;562:42;;552:70;;618:1;615;608:12;633:315;701:6;709;762:2;750:9;741:7;737:23;733:32;730:52;;;778:1;775;768:12;730:52;814:9;801:23;791:33;;874:2;863:9;859:18;846:32;887:31;912:5;887:31;:::i;:::-;937:5;927:15;;;633:315;;;;;:::o;953:614::-;1055:6;1063;1071;1079;1132:3;1120:9;1111:7;1107:23;1103:33;1100:53;;;1149:1;1146;1139:12;1100:53;1188:9;1175:23;1207:31;1232:5;1207:31;:::i;:::-;1257:5;-1:-1:-1;1314:2:55;1299:18;;1286:32;1327:33;1286:32;1327:33;:::i;:::-;1379:7;-1:-1:-1;1438:2:55;1423:18;;1410:32;1451:33;1410:32;1451:33;:::i;:::-;953:614;;;;-1:-1:-1;1503:7:55;;1557:2;1542:18;1529:32;;-1:-1:-1;;953:614:55:o;1572:180::-;1631:6;1684:2;1672:9;1663:7;1659:23;1655:32;1652:52;;;1700:1;1697;1690:12;1652:52;-1:-1:-1;1723:23:55;;1572:180;-1:-1:-1;1572:180:55:o;1939:472::-;2032:6;2040;2048;2101:2;2089:9;2080:7;2076:23;2072:32;2069:52;;;2117:1;2114;2107:12;2069:52;2156:9;2143:23;2175:31;2200:5;2175:31;:::i;:::-;2225:5;-1:-1:-1;2282:2:55;2267:18;;2254:32;2295:33;2254:32;2295:33;:::i;:::-;1939:472;;2347:7;;-1:-1:-1;;;2401:2:55;2386:18;;;;2373:32;;1939:472::o;2796:277::-;2863:6;2916:2;2904:9;2895:7;2891:23;2887:32;2884:52;;;2932:1;2929;2922:12;2884:52;2964:9;2958:16;3017:5;3010:13;3003:21;2996:5;2993:32;2983:60;;3039:1;3036;3029:12;4082:184;4152:6;4205:2;4193:9;4184:7;4180:23;4176:32;4173:52;;;4221:1;4218;4211:12;4173:52;-1:-1:-1;4244:16:55;;4082:184;-1:-1:-1;4082:184:55:o;4694:250::-;4779:1;4789:113;4803:6;4800:1;4797:13;4789:113;;;4879:11;;;4873:18;4860:11;;;4853:39;4825:2;4818:10;4789:113;;;-1:-1:-1;;4936:1:55;4918:16;;4911:27;4694:250::o;4949:812::-;5360:25;5355:3;5348:38;5330:3;5415:6;5409:13;5431:75;5499:6;5494:2;5489:3;5485:12;5478:4;5470:6;5466:17;5431:75;:::i;:::-;-1:-1:-1;;;5565:2:55;5525:16;;;5557:11;;;5550:40;5615:13;;5637:76;5615:13;5699:2;5691:11;;5684:4;5672:17;;5637:76;:::i;:::-;5733:17;5752:2;5729:26;;4949:812;-1:-1:-1;;;;4949:812:55:o;5766:396::-;5915:2;5904:9;5897:21;5878:4;5947:6;5941:13;5990:6;5985:2;5974:9;5970:18;5963:34;6006:79;6078:6;6073:2;6062:9;6058:18;6053:2;6045:6;6041:15;6006:79;:::i;:::-;6146:2;6125:15;-1:-1:-1;;6121:29:55;6106:45;;;;6153:2;6102:54;;5766:396;-1:-1:-1;;5766:396:55:o;6578:127::-;6639:10;6634:3;6630:20;6627:1;6620:31;6670:4;6667:1;6660:15;6694:4;6691:1;6684:15;6710:168;6783:9;;;6814;;6831:15;;;6825:22;;6811:37;6801:71;;6852:18;;:::i;6883:125::-;6948:9;;;6969:10;;;6966:36;;;6982:18;;:::i;7013:127::-;7074:10;7069:3;7065:20;7062:1;7055:31;7105:4;7102:1;7095:15;7129:4;7126:1;7119:15;7145:127;7206:10;7201:3;7197:20;7194:1;7187:31;7237:4;7234:1;7227:15;7261:4;7258:1;7251:15;7277:136;7316:3;7344:5;7334:39;;7353:18;;:::i;:::-;-1:-1:-1;;;7389:18:55;;7277:136::o;8186:287::-;8315:3;8353:6;8347:13;8369:66;8428:6;8423:3;8416:4;8408:6;8404:17;8369:66;:::i;:::-;8451:16;;;;;8186:287;-1:-1:-1;;8186:287:55:o", "linkReferences": {} }, "methodIdentifiers": { @@ -931,28 +931,28 @@ }, "ast": { "absolutePath": "src/DeprecatedOZFunctions.sol", - "id": 46616, + "id": 47764, "exportedSymbols": { "AccessControl": [ - 43168 + 43207 ], "DeprecatedOZFunctions": [ - 46615 + 47763 ], "IERC20": [ - 43497 + 43536 ], "SafeERC20": [ - 43909 + 43948 ] }, "nodeType": "SourceUnit", - "src": "32:1611:38", + "src": "32:1611:44", "nodes": [ { - "id": 46457, + "id": 47605, "nodeType": "PragmaDirective", - "src": "32:23:38", + "src": "32:23:44", "nodes": [], "literals": [ "solidity", @@ -961,24 +961,24 @@ ] }, { - "id": 46459, + "id": 47607, "nodeType": "ImportDirective", - "src": "57:95:38", + "src": "57:95:44", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/access/AccessControl.sol", "file": "../lib/openzeppelin-contracts/contracts/access/AccessControl.sol", "nameLocation": "-1:-1:-1", - "scope": 46616, - "sourceUnit": 43169, + "scope": 47764, + "sourceUnit": 43208, "symbolAliases": [ { "foreign": { - "id": 46458, + "id": 47606, "name": "AccessControl", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 43168, - "src": "65:13:38", + "referencedDeclaration": 43207, + "src": "65:13:44", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -987,36 +987,36 @@ "unitAlias": "" }, { - "id": 46462, + "id": 47610, "nodeType": "ImportDirective", - "src": "153:106:38", + "src": "153:106:44", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", "file": "../lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", "nameLocation": "-1:-1:-1", - "scope": 46616, - "sourceUnit": 43910, + "scope": 47764, + "sourceUnit": 43949, "symbolAliases": [ { "foreign": { - "id": 46460, + "id": 47608, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 43497, - "src": "161:6:38", + "referencedDeclaration": 43536, + "src": "161:6:44", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { - "id": 46461, + "id": 47609, "name": "SafeERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 43909, - "src": "169:9:38", + "referencedDeclaration": 43948, + "src": "169:9:44", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1025,80 +1025,80 @@ "unitAlias": "" }, { - "id": 46615, + "id": 47763, "nodeType": "ContractDefinition", - "src": "261:1381:38", + "src": "261:1381:44", "nodes": [ { - "id": 46468, + "id": 47616, "nodeType": "UsingForDirective", - "src": "315:27:38", + "src": "315:27:44", "nodes": [], "global": false, "libraryName": { - "id": 46465, + "id": 47613, "name": "SafeERC20", "nameLocations": [ - "321:9:38" + "321:9:44" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 43909, - "src": "321:9:38" + "referencedDeclaration": 43948, + "src": "321:9:44" }, "typeName": { - "id": 46467, + "id": 47615, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 46466, + "id": 47614, "name": "IERC20", "nameLocations": [ - "335:6:38" + "335:6:44" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 43497, - "src": "335:6:38" + "referencedDeclaration": 43536, + "src": "335:6:44" }, - "referencedDeclaration": 43497, - "src": "335:6:38", + "referencedDeclaration": 43536, + "src": "335:6:44", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" } } }, { - "id": 46481, + "id": 47629, "nodeType": "FunctionDefinition", - "src": "360:101:38", + "src": "360:101:44", "nodes": [], "body": { - "id": 46480, + "id": 47628, "nodeType": "Block", - "src": "420:41:38", + "src": "420:41:44", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 46476, + "id": 47624, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46470, - "src": "440:4:38", + "referencedDeclaration": 47618, + "src": "440:4:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 46477, + "id": 47625, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46472, - "src": "446:7:38", + "referencedDeclaration": 47620, + "src": "446:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1116,18 +1116,18 @@ "typeString": "address" } ], - "id": 46475, + "id": 47623, "name": "grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 43019, - "src": "430:9:38", + "referencedDeclaration": 43058, + "src": "430:9:44", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 46478, + "id": 47626, "isConstant": false, "isLValue": false, "isPure": false, @@ -1136,16 +1136,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "430:24:38", + "src": "430:24:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 46479, + "id": 47627, "nodeType": "ExpressionStatement", - "src": "430:24:38" + "src": "430:24:44" } ] }, @@ -1154,20 +1154,20 @@ "kind": "function", "modifiers": [], "name": "grantRole0", - "nameLocation": "369:10:38", + "nameLocation": "369:10:44", "parameters": { - "id": 46473, + "id": 47621, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46470, + "id": 47618, "mutability": "mutable", "name": "role", - "nameLocation": "388:4:38", + "nameLocation": "388:4:44", "nodeType": "VariableDeclaration", - "scope": 46481, - "src": "380:12:38", + "scope": 47629, + "src": "380:12:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1175,10 +1175,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 46469, + "id": 47617, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "380:7:38", + "src": "380:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1188,13 +1188,13 @@ }, { "constant": false, - "id": 46472, + "id": 47620, "mutability": "mutable", "name": "account", - "nameLocation": "402:7:38", + "nameLocation": "402:7:44", "nodeType": "VariableDeclaration", - "scope": 46481, - "src": "394:15:38", + "scope": 47629, + "src": "394:15:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1202,10 +1202,10 @@ "typeString": "address" }, "typeName": { - "id": 46471, + "id": 47619, "name": "address", "nodeType": "ElementaryTypeName", - "src": "394:7:38", + "src": "394:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1215,64 +1215,64 @@ "visibility": "internal" } ], - "src": "379:31:38" + "src": "379:31:44" }, "returnParameters": { - "id": 46474, + "id": 47622, "nodeType": "ParameterList", "parameters": [], - "src": "420:0:38" + "src": "420:0:44" }, - "scope": 46615, + "scope": 47763, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 46502, + "id": 47650, "nodeType": "FunctionDefinition", - "src": "479:146:38", + "src": "479:146:44", "nodes": [], "body": { - "id": 46501, + "id": 47649, "nodeType": "Block", - "src": "569:56:38", + "src": "569:56:44", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 46496, + "id": 47644, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46486, - "src": "602:4:38", + "referencedDeclaration": 47634, + "src": "602:4:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 46497, + "id": 47645, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46488, - "src": "608:2:38", + "referencedDeclaration": 47636, + "src": "608:2:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 46498, + "id": 47646, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46490, - "src": "612:5:38", + "referencedDeclaration": 47638, + "src": "612:5:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1295,33 +1295,33 @@ } ], "expression": { - "id": 46493, + "id": 47641, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46484, - "src": "579:5:38", + "referencedDeclaration": 47632, + "src": "579:5:44", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" } }, - "id": 46495, + "id": 47643, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "585:16:38", + "memberLocation": "585:16:44", "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 43593, - "src": "579:22:38", + "referencedDeclaration": 43632, + "src": "579:22:44", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$43497_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$43497_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$43536_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$43536_$", "typeString": "function (contract IERC20,address,address,uint256)" } }, - "id": 46499, + "id": 47647, "isConstant": false, "isLValue": false, "isPure": false, @@ -1330,16 +1330,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "579:39:38", + "src": "579:39:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 46500, + "id": 47648, "nodeType": "ExpressionStatement", - "src": "579:39:38" + "src": "579:39:44" } ] }, @@ -1348,43 +1348,43 @@ "kind": "function", "modifiers": [], "name": "safeTransferFrom", - "nameLocation": "488:16:38", + "nameLocation": "488:16:44", "parameters": { - "id": 46491, + "id": 47639, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46484, + "id": 47632, "mutability": "mutable", "name": "token", - "nameLocation": "512:5:38", + "nameLocation": "512:5:44", "nodeType": "VariableDeclaration", - "scope": 46502, - "src": "505:12:38", + "scope": 47650, + "src": "505:12:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" }, "typeName": { - "id": 46483, + "id": 47631, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 46482, + "id": 47630, "name": "IERC20", "nameLocations": [ - "505:6:38" + "505:6:44" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 43497, - "src": "505:6:38" + "referencedDeclaration": 43536, + "src": "505:6:44" }, - "referencedDeclaration": 43497, - "src": "505:6:38", + "referencedDeclaration": 43536, + "src": "505:6:44", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" } }, @@ -1392,13 +1392,13 @@ }, { "constant": false, - "id": 46486, + "id": 47634, "mutability": "mutable", "name": "from", - "nameLocation": "527:4:38", + "nameLocation": "527:4:44", "nodeType": "VariableDeclaration", - "scope": 46502, - "src": "519:12:38", + "scope": 47650, + "src": "519:12:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1406,10 +1406,10 @@ "typeString": "address" }, "typeName": { - "id": 46485, + "id": 47633, "name": "address", "nodeType": "ElementaryTypeName", - "src": "519:7:38", + "src": "519:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1420,13 +1420,13 @@ }, { "constant": false, - "id": 46488, + "id": 47636, "mutability": "mutable", "name": "to", - "nameLocation": "541:2:38", + "nameLocation": "541:2:44", "nodeType": "VariableDeclaration", - "scope": 46502, - "src": "533:10:38", + "scope": 47650, + "src": "533:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1434,10 +1434,10 @@ "typeString": "address" }, "typeName": { - "id": 46487, + "id": 47635, "name": "address", "nodeType": "ElementaryTypeName", - "src": "533:7:38", + "src": "533:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1448,13 +1448,13 @@ }, { "constant": false, - "id": 46490, + "id": 47638, "mutability": "mutable", "name": "value", - "nameLocation": "553:5:38", + "nameLocation": "553:5:44", "nodeType": "VariableDeclaration", - "scope": 46502, - "src": "545:13:38", + "scope": 47650, + "src": "545:13:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1462,10 +1462,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46489, + "id": 47637, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "545:7:38", + "src": "545:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1474,52 +1474,52 @@ "visibility": "internal" } ], - "src": "504:55:38" + "src": "504:55:44" }, "returnParameters": { - "id": 46492, + "id": 47640, "nodeType": "ParameterList", "parameters": [], - "src": "569:0:38" + "src": "569:0:44" }, - "scope": 46615, + "scope": 47763, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 46515, + "id": 47663, "nodeType": "FunctionDefinition", - "src": "668:101:38", + "src": "668:101:44", "nodes": [], "body": { - "id": 46514, + "id": 47662, "nodeType": "Block", - "src": "727:42:38", + "src": "727:42:44", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 46510, + "id": 47658, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46504, - "src": "748:4:38", + "referencedDeclaration": 47652, + "src": "748:4:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 46511, + "id": 47659, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46506, - "src": "754:7:38", + "referencedDeclaration": 47654, + "src": "754:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1537,18 +1537,18 @@ "typeString": "address" } ], - "id": 46509, + "id": 47657, "name": "_setupRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 43076, - "src": "737:10:38", + "referencedDeclaration": 43115, + "src": "737:10:44", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 46512, + "id": 47660, "isConstant": false, "isLValue": false, "isPure": false, @@ -1557,16 +1557,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "737:25:38", + "src": "737:25:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 46513, + "id": 47661, "nodeType": "ExpressionStatement", - "src": "737:25:38" + "src": "737:25:44" } ] }, @@ -1575,20 +1575,20 @@ "kind": "function", "modifiers": [], "name": "setupRole", - "nameLocation": "677:9:38", + "nameLocation": "677:9:44", "parameters": { - "id": 46507, + "id": 47655, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46504, + "id": 47652, "mutability": "mutable", "name": "role", - "nameLocation": "695:4:38", + "nameLocation": "695:4:44", "nodeType": "VariableDeclaration", - "scope": 46515, - "src": "687:12:38", + "scope": 47663, + "src": "687:12:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1596,10 +1596,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 46503, + "id": 47651, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "687:7:38", + "src": "687:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1609,13 +1609,13 @@ }, { "constant": false, - "id": 46506, + "id": 47654, "mutability": "mutable", "name": "account", - "nameLocation": "709:7:38", + "nameLocation": "709:7:44", "nodeType": "VariableDeclaration", - "scope": 46515, - "src": "701:15:38", + "scope": 47663, + "src": "701:15:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1623,10 +1623,10 @@ "typeString": "address" }, "typeName": { - "id": 46505, + "id": 47653, "name": "address", "nodeType": "ElementaryTypeName", - "src": "701:7:38", + "src": "701:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1636,52 +1636,52 @@ "visibility": "internal" } ], - "src": "686:31:38" + "src": "686:31:44" }, "returnParameters": { - "id": 46508, + "id": 47656, "nodeType": "ParameterList", "parameters": [], - "src": "727:0:38" + "src": "727:0:44" }, - "scope": 46615, + "scope": 47763, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 46533, + "id": 47681, "nodeType": "FunctionDefinition", - "src": "812:126:38", + "src": "812:126:44", "nodes": [], "body": { - "id": 46532, + "id": 47680, "nodeType": "Block", - "src": "888:50:38", + "src": "888:50:44", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 46528, + "id": 47676, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46520, - "src": "916:7:38", + "referencedDeclaration": 47668, + "src": "916:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 46529, + "id": 47677, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46522, - "src": "925:5:38", + "referencedDeclaration": 47670, + "src": "925:5:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1700,33 +1700,33 @@ } ], "expression": { - "id": 46525, + "id": 47673, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46518, - "src": "898:5:38", + "referencedDeclaration": 47666, + "src": "898:5:44", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" } }, - "id": 46527, + "id": 47675, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "904:11:38", + "memberLocation": "904:11:44", "memberName": "safeApprove", "nodeType": "MemberAccess", - "referencedDeclaration": 43637, - "src": "898:17:38", + "referencedDeclaration": 43676, + "src": "898:17:44", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$43497_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$43497_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$43536_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$43536_$", "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 46530, + "id": 47678, "isConstant": false, "isLValue": false, "isPure": false, @@ -1735,16 +1735,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "898:33:38", + "src": "898:33:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 46531, + "id": 47679, "nodeType": "ExpressionStatement", - "src": "898:33:38" + "src": "898:33:44" } ] }, @@ -1753,43 +1753,43 @@ "kind": "function", "modifiers": [], "name": "safeApprove", - "nameLocation": "821:11:38", + "nameLocation": "821:11:44", "parameters": { - "id": 46523, + "id": 47671, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46518, + "id": 47666, "mutability": "mutable", "name": "token", - "nameLocation": "840:5:38", + "nameLocation": "840:5:44", "nodeType": "VariableDeclaration", - "scope": 46533, - "src": "833:12:38", + "scope": 47681, + "src": "833:12:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" }, "typeName": { - "id": 46517, + "id": 47665, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 46516, + "id": 47664, "name": "IERC20", "nameLocations": [ - "833:6:38" + "833:6:44" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 43497, - "src": "833:6:38" + "referencedDeclaration": 43536, + "src": "833:6:44" }, - "referencedDeclaration": 43497, - "src": "833:6:38", + "referencedDeclaration": 43536, + "src": "833:6:44", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" } }, @@ -1797,13 +1797,13 @@ }, { "constant": false, - "id": 46520, + "id": 47668, "mutability": "mutable", "name": "spender", - "nameLocation": "855:7:38", + "nameLocation": "855:7:44", "nodeType": "VariableDeclaration", - "scope": 46533, - "src": "847:15:38", + "scope": 47681, + "src": "847:15:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1811,10 +1811,10 @@ "typeString": "address" }, "typeName": { - "id": 46519, + "id": 47667, "name": "address", "nodeType": "ElementaryTypeName", - "src": "847:7:38", + "src": "847:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1825,13 +1825,13 @@ }, { "constant": false, - "id": 46522, + "id": 47670, "mutability": "mutable", "name": "value", - "nameLocation": "872:5:38", + "nameLocation": "872:5:44", "nodeType": "VariableDeclaration", - "scope": 46533, - "src": "864:13:38", + "scope": 47681, + "src": "864:13:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1839,10 +1839,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46521, + "id": 47669, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "864:7:38", + "src": "864:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1851,52 +1851,52 @@ "visibility": "internal" } ], - "src": "832:46:38" + "src": "832:46:44" }, "returnParameters": { - "id": 46524, + "id": 47672, "nodeType": "ParameterList", "parameters": [], - "src": "888:0:38" + "src": "888:0:44" }, - "scope": 46615, + "scope": 47763, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 46551, + "id": 47699, "nodeType": "FunctionDefinition", - "src": "980:118:38", + "src": "980:118:44", "nodes": [], "body": { - "id": 46550, + "id": 47698, "nodeType": "Block", - "src": "1052:46:38", + "src": "1052:46:44", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 46546, + "id": 47694, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46538, - "src": "1076:7:38", + "referencedDeclaration": 47686, + "src": "1076:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 46547, + "id": 47695, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46540, - "src": "1085:5:38", + "referencedDeclaration": 47688, + "src": "1085:5:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1915,33 +1915,33 @@ } ], "expression": { - "id": 46543, + "id": 47691, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46536, - "src": "1062:5:38", + "referencedDeclaration": 47684, + "src": "1062:5:44", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" } }, - "id": 46545, + "id": 47693, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1068:7:38", + "memberLocation": "1068:7:44", "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 43484, - "src": "1062:13:38", + "referencedDeclaration": 43523, + "src": "1062:13:44", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 46548, + "id": 47696, "isConstant": false, "isLValue": false, "isPure": false, @@ -1950,16 +1950,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1062:29:38", + "src": "1062:29:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 46549, + "id": 47697, "nodeType": "ExpressionStatement", - "src": "1062:29:38" + "src": "1062:29:44" } ] }, @@ -1968,43 +1968,43 @@ "kind": "function", "modifiers": [], "name": "approve", - "nameLocation": "989:7:38", + "nameLocation": "989:7:44", "parameters": { - "id": 46541, + "id": 47689, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46536, + "id": 47684, "mutability": "mutable", "name": "token", - "nameLocation": "1004:5:38", + "nameLocation": "1004:5:44", "nodeType": "VariableDeclaration", - "scope": 46551, - "src": "997:12:38", + "scope": 47699, + "src": "997:12:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" }, "typeName": { - "id": 46535, + "id": 47683, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 46534, + "id": 47682, "name": "IERC20", "nameLocations": [ - "997:6:38" + "997:6:44" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 43497, - "src": "997:6:38" + "referencedDeclaration": 43536, + "src": "997:6:44" }, - "referencedDeclaration": 43497, - "src": "997:6:38", + "referencedDeclaration": 43536, + "src": "997:6:44", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" } }, @@ -2012,13 +2012,13 @@ }, { "constant": false, - "id": 46538, + "id": 47686, "mutability": "mutable", "name": "spender", - "nameLocation": "1019:7:38", + "nameLocation": "1019:7:44", "nodeType": "VariableDeclaration", - "scope": 46551, - "src": "1011:15:38", + "scope": 47699, + "src": "1011:15:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2026,10 +2026,10 @@ "typeString": "address" }, "typeName": { - "id": 46537, + "id": 47685, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1011:7:38", + "src": "1011:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2040,13 +2040,13 @@ }, { "constant": false, - "id": 46540, + "id": 47688, "mutability": "mutable", "name": "value", - "nameLocation": "1036:5:38", + "nameLocation": "1036:5:44", "nodeType": "VariableDeclaration", - "scope": 46551, - "src": "1028:13:38", + "scope": 47699, + "src": "1028:13:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2054,10 +2054,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46539, + "id": 47687, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1028:7:38", + "src": "1028:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2066,28 +2066,28 @@ "visibility": "internal" } ], - "src": "996:46:38" + "src": "996:46:44" }, "returnParameters": { - "id": 46542, + "id": 47690, "nodeType": "ParameterList", "parameters": [], - "src": "1052:0:38" + "src": "1052:0:44" }, - "scope": 46615, + "scope": 47763, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 46593, + "id": 47741, "nodeType": "FunctionDefinition", - "src": "1140:320:38", + "src": "1140:320:44", "nodes": [], "body": { - "id": 46592, + "id": 47740, "nodeType": "Block", - "src": "1254:206:38", + "src": "1254:206:44", "nodes": [], "statements": [ { @@ -2096,24 +2096,24 @@ { "arguments": [ { - "id": 46566, + "id": 47714, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46556, - "src": "1286:7:38", + "referencedDeclaration": 47704, + "src": "1286:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 46567, + "id": 47715, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46558, - "src": "1295:5:38", + "referencedDeclaration": 47706, + "src": "1295:5:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2132,33 +2132,33 @@ } ], "expression": { - "id": 46564, + "id": 47712, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46554, - "src": "1272:5:38", + "referencedDeclaration": 47702, + "src": "1272:5:44", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" } }, - "id": 46565, + "id": 47713, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1278:7:38", + "memberLocation": "1278:7:44", "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 43484, - "src": "1272:13:38", + "referencedDeclaration": 43523, + "src": "1272:13:44", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 46568, + "id": 47716, "isConstant": false, "isLValue": false, "isPure": false, @@ -2167,7 +2167,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1272:29:38", + "src": "1272:29:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2182,7 +2182,7 @@ "typeString": "bool" } ], - "id": 46563, + "id": 47711, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2190,13 +2190,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1264:7:38", + "src": "1264:7:44", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 46569, + "id": 47717, "isConstant": false, "isLValue": false, "isPure": false, @@ -2205,31 +2205,31 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1264:38:38", + "src": "1264:38:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 46570, + "id": 47718, "nodeType": "ExpressionStatement", - "src": "1264:38:38" + "src": "1264:38:44" }, { "expression": { - "id": 46577, + "id": 47725, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 46571, + "id": 47719, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46561, - "src": "1312:7:38", + "referencedDeclaration": 47709, + "src": "1312:7:44", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2240,24 +2240,24 @@ "rightHandSide": { "arguments": [ { - "id": 46574, + "id": 47722, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46556, - "src": "1336:7:38", + "referencedDeclaration": 47704, + "src": "1336:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 46575, + "id": 47723, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46558, - "src": "1345:5:38", + "referencedDeclaration": 47706, + "src": "1345:5:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2276,33 +2276,33 @@ } ], "expression": { - "id": 46572, + "id": 47720, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46554, - "src": "1322:5:38", + "referencedDeclaration": 47702, + "src": "1322:5:44", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" } }, - "id": 46573, + "id": 47721, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1328:7:38", + "memberLocation": "1328:7:44", "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 43484, - "src": "1322:13:38", + "referencedDeclaration": 43523, + "src": "1322:13:44", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 46576, + "id": 47724, "isConstant": false, "isLValue": false, "isPure": false, @@ -2311,26 +2311,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1322:29:38", + "src": "1322:29:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1312:39:38", + "src": "1312:39:44", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 46578, + "id": 47726, "nodeType": "ExpressionStatement", - "src": "1312:39:38" + "src": "1312:39:44" }, { "condition": { - "id": 46580, + "id": 47728, "isConstant": false, "isLValue": false, "isPure": false, @@ -2338,14 +2338,14 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1365:8:38", + "src": "1365:8:44", "subExpression": { - "id": 46579, + "id": 47727, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46561, - "src": "1366:7:38", + "referencedDeclaration": 47709, + "src": "1366:7:44", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2356,20 +2356,20 @@ "typeString": "bool" } }, - "id": 46585, + "id": 47733, "nodeType": "IfStatement", - "src": "1361:47:38", + "src": "1361:47:44", "trueBody": { - "id": 46584, + "id": 47732, "nodeType": "Block", - "src": "1375:33:38", + "src": "1375:33:44", "statements": [ { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 46581, + "id": 47729, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2377,13 +2377,13 @@ -19 ], "referencedDeclaration": -19, - "src": "1389:6:38", + "src": "1389:6:44", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 46582, + "id": 47730, "isConstant": false, "isLValue": false, "isPure": false, @@ -2392,16 +2392,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1389:8:38", + "src": "1389:8:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 46583, + "id": 47731, "nodeType": "ExpressionStatement", - "src": "1389:8:38" + "src": "1389:8:44" } ] } @@ -2410,24 +2410,24 @@ "expression": { "arguments": [ { - "id": 46588, + "id": 47736, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46556, - "src": "1438:7:38", + "referencedDeclaration": 47704, + "src": "1438:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 46589, + "id": 47737, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46558, - "src": "1447:5:38", + "referencedDeclaration": 47706, + "src": "1447:5:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2446,33 +2446,33 @@ } ], "expression": { - "id": 46586, + "id": 47734, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46554, - "src": "1424:5:38", + "referencedDeclaration": 47702, + "src": "1424:5:44", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" } }, - "id": 46587, + "id": 47735, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1430:7:38", + "memberLocation": "1430:7:44", "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 43484, - "src": "1424:13:38", + "referencedDeclaration": 43523, + "src": "1424:13:44", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 46590, + "id": 47738, "isConstant": false, "isLValue": false, "isPure": false, @@ -2481,17 +2481,17 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1424:29:38", + "src": "1424:29:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 46562, - "id": 46591, + "functionReturnParameters": 47710, + "id": 47739, "nodeType": "Return", - "src": "1417:36:38" + "src": "1417:36:44" } ] }, @@ -2500,43 +2500,43 @@ "kind": "function", "modifiers": [], "name": "approveAndCheckReturnValue", - "nameLocation": "1149:26:38", + "nameLocation": "1149:26:44", "parameters": { - "id": 46559, + "id": 47707, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46554, + "id": 47702, "mutability": "mutable", "name": "token", - "nameLocation": "1183:5:38", + "nameLocation": "1183:5:44", "nodeType": "VariableDeclaration", - "scope": 46593, - "src": "1176:12:38", + "scope": 47741, + "src": "1176:12:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" }, "typeName": { - "id": 46553, + "id": 47701, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 46552, + "id": 47700, "name": "IERC20", "nameLocations": [ - "1176:6:38" + "1176:6:44" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 43497, - "src": "1176:6:38" + "referencedDeclaration": 43536, + "src": "1176:6:44" }, - "referencedDeclaration": 43497, - "src": "1176:6:38", + "referencedDeclaration": 43536, + "src": "1176:6:44", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" } }, @@ -2544,13 +2544,13 @@ }, { "constant": false, - "id": 46556, + "id": 47704, "mutability": "mutable", "name": "spender", - "nameLocation": "1198:7:38", + "nameLocation": "1198:7:44", "nodeType": "VariableDeclaration", - "scope": 46593, - "src": "1190:15:38", + "scope": 47741, + "src": "1190:15:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2558,10 +2558,10 @@ "typeString": "address" }, "typeName": { - "id": 46555, + "id": 47703, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1190:7:38", + "src": "1190:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2572,13 +2572,13 @@ }, { "constant": false, - "id": 46558, + "id": 47706, "mutability": "mutable", "name": "value", - "nameLocation": "1215:5:38", + "nameLocation": "1215:5:44", "nodeType": "VariableDeclaration", - "scope": 46593, - "src": "1207:13:38", + "scope": 47741, + "src": "1207:13:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2586,10 +2586,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46557, + "id": 47705, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1207:7:38", + "src": "1207:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2598,21 +2598,21 @@ "visibility": "internal" } ], - "src": "1175:46:38" + "src": "1175:46:44" }, "returnParameters": { - "id": 46562, + "id": 47710, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46561, + "id": 47709, "mutability": "mutable", "name": "success", - "nameLocation": "1245:7:38", + "nameLocation": "1245:7:44", "nodeType": "VariableDeclaration", - "scope": 46593, - "src": "1240:12:38", + "scope": 47741, + "src": "1240:12:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2620,10 +2620,10 @@ "typeString": "bool" }, "typeName": { - "id": 46560, + "id": 47708, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1240:4:38", + "src": "1240:4:44", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2632,58 +2632,58 @@ "visibility": "internal" } ], - "src": "1239:14:38" + "src": "1239:14:44" }, - "scope": 46615, + "scope": 47763, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 46614, + "id": 47762, "nodeType": "FunctionDefinition", - "src": "1502:138:38", + "src": "1502:138:44", "nodes": [], "body": { - "id": 46613, + "id": 47761, "nodeType": "Block", - "src": "1588:52:38", + "src": "1588:52:44", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 46608, + "id": 47756, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46598, - "src": "1617:4:38", + "referencedDeclaration": 47746, + "src": "1617:4:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 46609, + "id": 47757, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46600, - "src": "1623:2:38", + "referencedDeclaration": 47748, + "src": "1623:2:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 46610, + "id": 47758, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46602, - "src": "1627:5:38", + "referencedDeclaration": 47750, + "src": "1627:5:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2706,33 +2706,33 @@ } ], "expression": { - "id": 46605, + "id": 47753, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46596, - "src": "1598:5:38", + "referencedDeclaration": 47744, + "src": "1598:5:44", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" } }, - "id": 46607, + "id": 47755, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1604:12:38", + "memberLocation": "1604:12:44", "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 43496, - "src": "1598:18:38", + "referencedDeclaration": 43535, + "src": "1598:18:44", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 46611, + "id": 47759, "isConstant": false, "isLValue": false, "isPure": false, @@ -2741,16 +2741,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1598:35:38", + "src": "1598:35:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 46612, + "id": 47760, "nodeType": "ExpressionStatement", - "src": "1598:35:38" + "src": "1598:35:44" } ] }, @@ -2759,43 +2759,43 @@ "kind": "function", "modifiers": [], "name": "transferFrom", - "nameLocation": "1511:12:38", + "nameLocation": "1511:12:44", "parameters": { - "id": 46603, + "id": 47751, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46596, + "id": 47744, "mutability": "mutable", "name": "token", - "nameLocation": "1531:5:38", + "nameLocation": "1531:5:44", "nodeType": "VariableDeclaration", - "scope": 46614, - "src": "1524:12:38", + "scope": 47762, + "src": "1524:12:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" }, "typeName": { - "id": 46595, + "id": 47743, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 46594, + "id": 47742, "name": "IERC20", "nameLocations": [ - "1524:6:38" + "1524:6:44" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 43497, - "src": "1524:6:38" + "referencedDeclaration": 43536, + "src": "1524:6:44" }, - "referencedDeclaration": 43497, - "src": "1524:6:38", + "referencedDeclaration": 43536, + "src": "1524:6:44", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43497", + "typeIdentifier": "t_contract$_IERC20_$43536", "typeString": "contract IERC20" } }, @@ -2803,13 +2803,13 @@ }, { "constant": false, - "id": 46598, + "id": 47746, "mutability": "mutable", "name": "from", - "nameLocation": "1546:4:38", + "nameLocation": "1546:4:44", "nodeType": "VariableDeclaration", - "scope": 46614, - "src": "1538:12:38", + "scope": 47762, + "src": "1538:12:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2817,10 +2817,10 @@ "typeString": "address" }, "typeName": { - "id": 46597, + "id": 47745, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1538:7:38", + "src": "1538:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2831,13 +2831,13 @@ }, { "constant": false, - "id": 46600, + "id": 47748, "mutability": "mutable", "name": "to", - "nameLocation": "1560:2:38", + "nameLocation": "1560:2:44", "nodeType": "VariableDeclaration", - "scope": 46614, - "src": "1552:10:38", + "scope": 47762, + "src": "1552:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2845,10 +2845,10 @@ "typeString": "address" }, "typeName": { - "id": 46599, + "id": 47747, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1552:7:38", + "src": "1552:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2859,13 +2859,13 @@ }, { "constant": false, - "id": 46602, + "id": 47750, "mutability": "mutable", "name": "value", - "nameLocation": "1572:5:38", + "nameLocation": "1572:5:44", "nodeType": "VariableDeclaration", - "scope": 46614, - "src": "1564:13:38", + "scope": 47762, + "src": "1564:13:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2873,10 +2873,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46601, + "id": 47749, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1564:7:38", + "src": "1564:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2885,15 +2885,15 @@ "visibility": "internal" } ], - "src": "1523:55:38" + "src": "1523:55:44" }, "returnParameters": { - "id": 46604, + "id": 47752, "nodeType": "ParameterList", "parameters": [], - "src": "1588:0:38" + "src": "1588:0:44" }, - "scope": 46615, + "scope": 47763, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -2903,18 +2903,18 @@ "baseContracts": [ { "baseName": { - "id": 46463, + "id": 47611, "name": "AccessControl", "nameLocations": [ - "295:13:38" + "295:13:44" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 43168, - "src": "295:13:38" + "referencedDeclaration": 43207, + "src": "295:13:44" }, - "id": 46464, + "id": 47612, "nodeType": "InheritanceSpecifier", - "src": "295:13:38" + "src": "295:13:44" } ], "canonicalName": "DeprecatedOZFunctions", @@ -2922,25 +2922,25 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 46615, - 43168, - 44514, - 44526, - 43241, - 44261 + 47763, + 43207, + 45641, + 45653, + 43280, + 45388 ], "name": "DeprecatedOZFunctions", - "nameLocation": "270:21:38", - "scope": 46616, + "nameLocation": "270:21:44", + "scope": 47764, "usedErrors": [], "usedEvents": [ - 43180, - 43189, - 43198 + 43219, + 43228, + 43237 ] } ], "license": "MIT" }, - "id": 38 + "id": 44 } \ No newline at end of file diff --git a/tests/contract-playground/out/ERC165.sol/ERC165.json b/tests/contract-playground/out/ERC165.sol/ERC165.json index c8da3ddbc..d5fdd9ae1 100644 --- a/tests/contract-playground/out/ERC165.sol/ERC165.json +++ b/tests/contract-playground/out/ERC165.sol/ERC165.json @@ -33,7 +33,7 @@ "methodIdentifiers": { "supportsInterface(bytes4)": "01ffc9a7" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -83,7 +83,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, @@ -119,22 +120,22 @@ }, "ast": { "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", - "id": 44554, + "id": 45642, "exportedSymbols": { "ERC165": [ - 44553 + 45641 ], "IERC165": [ - 44565 + 45653 ] }, "nodeType": "SourceUnit", - "src": "99:888:29", + "src": "99:888:33", "nodes": [ { - "id": 44531, + "id": 45619, "nodeType": "PragmaDirective", - "src": "99:23:29", + "src": "99:23:33", "nodes": [], "literals": [ "solidity", @@ -144,32 +145,32 @@ ] }, { - "id": 44532, + "id": 45620, "nodeType": "ImportDirective", - "src": "124:23:29", + "src": "124:23:33", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol", "file": "./IERC165.sol", "nameLocation": "-1:-1:-1", - "scope": 44554, - "sourceUnit": 44566, + "scope": 45642, + "sourceUnit": 45654, "symbolAliases": [], "unitAlias": "" }, { - "id": 44553, + "id": 45641, "nodeType": "ContractDefinition", - "src": "726:260:29", + "src": "726:260:33", "nodes": [ { - "id": 44552, + "id": 45640, "nodeType": "FunctionDefinition", - "src": "829:155:29", + "src": "829:155:33", "nodes": [], "body": { - "id": 44551, + "id": 45639, "nodeType": "Block", - "src": "920:64:29", + "src": "920:64:33", "nodes": [], "statements": [ { @@ -178,18 +179,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 44549, + "id": 45637, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44544, + "id": 45632, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44538, - "src": "937:11:29", + "referencedDeclaration": 45626, + "src": "937:11:33", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -201,14 +202,14 @@ "expression": { "arguments": [ { - "id": 44546, + "id": 45634, "name": "IERC165", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44565, - "src": "957:7:29", + "referencedDeclaration": 45653, + "src": "957:7:33", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC165_$44565_$", + "typeIdentifier": "t_type$_t_contract$_IERC165_$45653_$", "typeString": "type(contract IERC165)" } } @@ -216,22 +217,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_type$_t_contract$_IERC165_$44565_$", + "typeIdentifier": "t_type$_t_contract$_IERC165_$45653_$", "typeString": "type(contract IERC165)" } ], - "id": 44545, + "id": 45633, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "952:4:29", + "src": "952:4:33", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 44547, + "id": 45635, "isConstant": false, "isLValue": false, "isPure": true, @@ -240,47 +241,47 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "952:13:29", + "src": "952:13:33", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$44565", + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$45653", "typeString": "type(contract IERC165)" } }, - "id": 44548, + "id": 45636, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "966:11:29", + "memberLocation": "966:11:33", "memberName": "interfaceId", "nodeType": "MemberAccess", - "src": "952:25:29", + "src": "952:25:33", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "937:40:29", + "src": "937:40:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 44543, - "id": 44550, + "functionReturnParameters": 45631, + "id": 45638, "nodeType": "Return", - "src": "930:47:29" + "src": "930:47:33" } ] }, "baseFunctions": [ - 44564 + 45652 ], "documentation": { - "id": 44536, + "id": 45624, "nodeType": "StructuredDocumentation", - "src": "768:56:29", + "src": "768:56:33", "text": " @dev See {IERC165-supportsInterface}." }, "functionSelector": "01ffc9a7", @@ -288,26 +289,26 @@ "kind": "function", "modifiers": [], "name": "supportsInterface", - "nameLocation": "838:17:29", + "nameLocation": "838:17:33", "overrides": { - "id": 44540, + "id": 45628, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "896:8:29" + "src": "896:8:33" }, "parameters": { - "id": 44539, + "id": 45627, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44538, + "id": 45626, "mutability": "mutable", "name": "interfaceId", - "nameLocation": "863:11:29", + "nameLocation": "863:11:33", "nodeType": "VariableDeclaration", - "scope": 44552, - "src": "856:18:29", + "scope": 45640, + "src": "856:18:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -315,10 +316,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 44537, + "id": 45625, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "856:6:29", + "src": "856:6:33", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -327,21 +328,21 @@ "visibility": "internal" } ], - "src": "855:20:29" + "src": "855:20:33" }, "returnParameters": { - "id": 44543, + "id": 45631, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44542, + "id": 45630, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44552, - "src": "914:4:29", + "scope": 45640, + "src": "914:4:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -349,10 +350,10 @@ "typeString": "bool" }, "typeName": { - "id": 44541, + "id": 45629, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "914:4:29", + "src": "914:4:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -361,9 +362,9 @@ "visibility": "internal" } ], - "src": "913:6:29" + "src": "913:6:33" }, - "scope": 44553, + "scope": 45641, "stateMutability": "view", "virtual": true, "visibility": "public" @@ -373,42 +374,42 @@ "baseContracts": [ { "baseName": { - "id": 44534, + "id": 45622, "name": "IERC165", "nameLocations": [ - "754:7:29" + "754:7:33" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 44565, - "src": "754:7:29" + "referencedDeclaration": 45653, + "src": "754:7:33" }, - "id": 44535, + "id": 45623, "nodeType": "InheritanceSpecifier", - "src": "754:7:29" + "src": "754:7:33" } ], "canonicalName": "ERC165", "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 44533, + "id": 45621, "nodeType": "StructuredDocumentation", - "src": "149:576:29", + "src": "149:576:33", "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation." }, "fullyImplemented": true, "linearizedBaseContracts": [ - 44553, - 44565 + 45641, + 45653 ], "name": "ERC165", - "nameLocation": "744:6:29", - "scope": 44554, + "nameLocation": "744:6:33", + "scope": 45642, "usedErrors": [], "usedEvents": [] } ], "license": "MIT" }, - "id": 29 + "id": 33 } \ No newline at end of file diff --git a/tests/contract-playground/out/ERC20.sol/ERC20.json b/tests/contract-playground/out/ERC20.sol/ERC20.json index eec3d42c6..4e860f830 100644 --- a/tests/contract-playground/out/ERC20.sol/ERC20.json +++ b/tests/contract-playground/out/ERC20.sol/ERC20.json @@ -322,7 +322,7 @@ "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)\",\"details\":\"Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Modern and gas efficient ERC20 + EIP-2612 implementation.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/solmate/src/tokens/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)\",\"details\":\"Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Modern and gas efficient ERC20 + EIP-2612 implementation.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/solmate/src/tokens/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -645,7 +645,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, @@ -673,19 +674,19 @@ }, "ast": { "absolutePath": "lib/solmate/src/tokens/ERC20.sol", - "id": 45925, + "id": 47013, "exportedSymbols": { "ERC20": [ - 45924 + 47012 ] }, "nodeType": "SourceUnit", - "src": "42:6770:33", + "src": "42:6770:37", "nodes": [ { - "id": 45538, + "id": 46626, "nodeType": "PragmaDirective", - "src": "42:24:33", + "src": "42:24:37", "nodes": [], "literals": [ "solidity", @@ -695,33 +696,33 @@ ] }, { - "id": 45924, + "id": 47012, "nodeType": "ContractDefinition", - "src": "474:6337:33", + "src": "474:6337:37", "nodes": [ { - "id": 45547, + "id": 46635, "nodeType": "EventDefinition", - "src": "683:73:33", + "src": "683:73:37", "nodes": [], "anonymous": false, "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "name": "Transfer", - "nameLocation": "689:8:33", + "nameLocation": "689:8:37", "parameters": { - "id": 45546, + "id": 46634, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45541, + "id": 46629, "indexed": true, "mutability": "mutable", "name": "from", - "nameLocation": "714:4:33", + "nameLocation": "714:4:37", "nodeType": "VariableDeclaration", - "scope": 45547, - "src": "698:20:33", + "scope": 46635, + "src": "698:20:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -729,10 +730,10 @@ "typeString": "address" }, "typeName": { - "id": 45540, + "id": 46628, "name": "address", "nodeType": "ElementaryTypeName", - "src": "698:7:33", + "src": "698:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -743,14 +744,14 @@ }, { "constant": false, - "id": 45543, + "id": 46631, "indexed": true, "mutability": "mutable", "name": "to", - "nameLocation": "736:2:33", + "nameLocation": "736:2:37", "nodeType": "VariableDeclaration", - "scope": 45547, - "src": "720:18:33", + "scope": 46635, + "src": "720:18:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -758,10 +759,10 @@ "typeString": "address" }, "typeName": { - "id": 45542, + "id": 46630, "name": "address", "nodeType": "ElementaryTypeName", - "src": "720:7:33", + "src": "720:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -772,14 +773,14 @@ }, { "constant": false, - "id": 45545, + "id": 46633, "indexed": false, "mutability": "mutable", "name": "amount", - "nameLocation": "748:6:33", + "nameLocation": "748:6:37", "nodeType": "VariableDeclaration", - "scope": 45547, - "src": "740:14:33", + "scope": 46635, + "src": "740:14:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -787,10 +788,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45544, + "id": 46632, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "740:7:33", + "src": "740:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -799,32 +800,32 @@ "visibility": "internal" } ], - "src": "697:58:33" + "src": "697:58:37" } }, { - "id": 45555, + "id": 46643, "nodeType": "EventDefinition", - "src": "762:79:33", + "src": "762:79:37", "nodes": [], "anonymous": false, "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "name": "Approval", - "nameLocation": "768:8:33", + "nameLocation": "768:8:37", "parameters": { - "id": 45554, + "id": 46642, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45549, + "id": 46637, "indexed": true, "mutability": "mutable", "name": "owner", - "nameLocation": "793:5:33", + "nameLocation": "793:5:37", "nodeType": "VariableDeclaration", - "scope": 45555, - "src": "777:21:33", + "scope": 46643, + "src": "777:21:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -832,10 +833,10 @@ "typeString": "address" }, "typeName": { - "id": 45548, + "id": 46636, "name": "address", "nodeType": "ElementaryTypeName", - "src": "777:7:33", + "src": "777:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -846,14 +847,14 @@ }, { "constant": false, - "id": 45551, + "id": 46639, "indexed": true, "mutability": "mutable", "name": "spender", - "nameLocation": "816:7:33", + "nameLocation": "816:7:37", "nodeType": "VariableDeclaration", - "scope": 45555, - "src": "800:23:33", + "scope": 46643, + "src": "800:23:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -861,10 +862,10 @@ "typeString": "address" }, "typeName": { - "id": 45550, + "id": 46638, "name": "address", "nodeType": "ElementaryTypeName", - "src": "800:7:33", + "src": "800:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -875,14 +876,14 @@ }, { "constant": false, - "id": 45553, + "id": 46641, "indexed": false, "mutability": "mutable", "name": "amount", - "nameLocation": "833:6:33", + "nameLocation": "833:6:37", "nodeType": "VariableDeclaration", - "scope": 45555, - "src": "825:14:33", + "scope": 46643, + "src": "825:14:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -890,10 +891,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45552, + "id": 46640, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "825:7:33", + "src": "825:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -902,20 +903,20 @@ "visibility": "internal" } ], - "src": "776:64:33" + "src": "776:64:37" } }, { - "id": 45557, + "id": 46645, "nodeType": "VariableDeclaration", - "src": "1031:18:33", + "src": "1031:18:37", "nodes": [], "constant": false, "functionSelector": "06fdde03", "mutability": "mutable", "name": "name", - "nameLocation": "1045:4:33", - "scope": 45924, + "nameLocation": "1045:4:37", + "scope": 47012, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -923,10 +924,10 @@ "typeString": "string" }, "typeName": { - "id": 45556, + "id": 46644, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1031:6:33", + "src": "1031:6:37", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -935,16 +936,16 @@ "visibility": "public" }, { - "id": 45559, + "id": 46647, "nodeType": "VariableDeclaration", - "src": "1056:20:33", + "src": "1056:20:37", "nodes": [], "constant": false, "functionSelector": "95d89b41", "mutability": "mutable", "name": "symbol", - "nameLocation": "1070:6:33", - "scope": 45924, + "nameLocation": "1070:6:37", + "scope": 47012, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -952,10 +953,10 @@ "typeString": "string" }, "typeName": { - "id": 45558, + "id": 46646, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1056:6:33", + "src": "1056:6:37", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -964,16 +965,16 @@ "visibility": "public" }, { - "id": 45561, + "id": 46649, "nodeType": "VariableDeclaration", - "src": "1083:31:33", + "src": "1083:31:37", "nodes": [], "constant": false, "functionSelector": "313ce567", "mutability": "immutable", "name": "decimals", - "nameLocation": "1106:8:33", - "scope": 45924, + "nameLocation": "1106:8:37", + "scope": 47012, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -981,10 +982,10 @@ "typeString": "uint8" }, "typeName": { - "id": 45560, + "id": 46648, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1083:5:33", + "src": "1083:5:37", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -993,16 +994,16 @@ "visibility": "public" }, { - "id": 45563, + "id": 46651, "nodeType": "VariableDeclaration", - "src": "1304:26:33", + "src": "1304:26:37", "nodes": [], "constant": false, "functionSelector": "18160ddd", "mutability": "mutable", "name": "totalSupply", - "nameLocation": "1319:11:33", - "scope": 45924, + "nameLocation": "1319:11:37", + "scope": 47012, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1010,10 +1011,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45562, + "id": 46650, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1304:7:33", + "src": "1304:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1022,16 +1023,16 @@ "visibility": "public" }, { - "id": 45567, + "id": 46655, "nodeType": "VariableDeclaration", - "src": "1337:44:33", + "src": "1337:44:37", "nodes": [], "constant": false, "functionSelector": "70a08231", "mutability": "mutable", "name": "balanceOf", - "nameLocation": "1372:9:33", - "scope": 45924, + "nameLocation": "1372:9:37", + "scope": 47012, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1039,21 +1040,21 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 45566, + "id": 46654, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { - "id": 45564, + "id": 46652, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1345:7:33", + "src": "1345:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1337:27:33", + "src": "1337:27:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -1061,10 +1062,10 @@ "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 45565, + "id": 46653, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1356:7:33", + "src": "1356:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1074,16 +1075,16 @@ "visibility": "public" }, { - "id": 45573, + "id": 46661, "nodeType": "VariableDeclaration", - "src": "1388:64:33", + "src": "1388:64:37", "nodes": [], "constant": false, "functionSelector": "dd62ed3e", "mutability": "mutable", "name": "allowance", - "nameLocation": "1443:9:33", - "scope": 45924, + "nameLocation": "1443:9:37", + "scope": 47012, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1091,21 +1092,21 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 45572, + "id": 46660, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { - "id": 45568, + "id": 46656, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1396:7:33", + "src": "1396:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1388:47:33", + "src": "1388:47:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" @@ -1113,21 +1114,21 @@ "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 45571, + "id": 46659, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { - "id": 45569, + "id": 46657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1415:7:33", + "src": "1415:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1407:27:33", + "src": "1407:27:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -1135,10 +1136,10 @@ "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 45570, + "id": 46658, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1426:7:33", + "src": "1426:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1149,15 +1150,15 @@ "visibility": "public" }, { - "id": 45575, + "id": 46663, "nodeType": "VariableDeclaration", - "src": "1643:43:33", + "src": "1643:43:37", "nodes": [], "constant": false, "mutability": "immutable", "name": "INITIAL_CHAIN_ID", - "nameLocation": "1670:16:33", - "scope": 45924, + "nameLocation": "1670:16:37", + "scope": 47012, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1165,10 +1166,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45574, + "id": 46662, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1643:7:33", + "src": "1643:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1177,15 +1178,15 @@ "visibility": "internal" }, { - "id": 45577, + "id": 46665, "nodeType": "VariableDeclaration", - "src": "1693:51:33", + "src": "1693:51:37", "nodes": [], "constant": false, "mutability": "immutable", "name": "INITIAL_DOMAIN_SEPARATOR", - "nameLocation": "1720:24:33", - "scope": 45924, + "nameLocation": "1720:24:37", + "scope": 47012, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1193,10 +1194,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 45576, + "id": 46664, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1693:7:33", + "src": "1693:7:37", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1205,16 +1206,16 @@ "visibility": "internal" }, { - "id": 45581, + "id": 46669, "nodeType": "VariableDeclaration", - "src": "1751:41:33", + "src": "1751:41:37", "nodes": [], "constant": false, "functionSelector": "7ecebe00", "mutability": "mutable", "name": "nonces", - "nameLocation": "1786:6:33", - "scope": 45924, + "nameLocation": "1786:6:37", + "scope": 47012, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1222,21 +1223,21 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 45580, + "id": 46668, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { - "id": 45578, + "id": 46666, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1759:7:33", + "src": "1759:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1751:27:33", + "src": "1751:27:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -1244,10 +1245,10 @@ "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 45579, + "id": 46667, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1770:7:33", + "src": "1770:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1257,30 +1258,30 @@ "visibility": "public" }, { - "id": 45613, + "id": 46701, "nodeType": "FunctionDefinition", - "src": "1981:292:33", + "src": "1981:292:37", "nodes": [], "body": { - "id": 45612, + "id": 46700, "nodeType": "Block", - "src": "2084:189:33", + "src": "2084:189:37", "nodes": [], "statements": [ { "expression": { - "id": 45592, + "id": 46680, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45590, + "id": 46678, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45557, - "src": "2094:4:33", + "referencedDeclaration": 46645, + "src": "2094:4:37", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -1289,41 +1290,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 45591, + "id": 46679, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45583, - "src": "2101:5:33", + "referencedDeclaration": 46671, + "src": "2101:5:37", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2094:12:33", + "src": "2094:12:37", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 45593, + "id": 46681, "nodeType": "ExpressionStatement", - "src": "2094:12:33" + "src": "2094:12:37" }, { "expression": { - "id": 45596, + "id": 46684, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45594, + "id": 46682, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45559, - "src": "2116:6:33", + "referencedDeclaration": 46647, + "src": "2116:6:37", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -1332,41 +1333,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 45595, + "id": 46683, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45585, - "src": "2125:7:33", + "referencedDeclaration": 46673, + "src": "2125:7:37", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2116:16:33", + "src": "2116:16:37", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 45597, + "id": 46685, "nodeType": "ExpressionStatement", - "src": "2116:16:33" + "src": "2116:16:37" }, { "expression": { - "id": 45600, + "id": 46688, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45598, + "id": 46686, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45561, - "src": "2142:8:33", + "referencedDeclaration": 46649, + "src": "2142:8:37", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1375,41 +1376,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 45599, + "id": 46687, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45587, - "src": "2153:9:33", + "referencedDeclaration": 46675, + "src": "2153:9:37", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "2142:20:33", + "src": "2142:20:37", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 45601, + "id": 46689, "nodeType": "ExpressionStatement", - "src": "2142:20:33" + "src": "2142:20:37" }, { "expression": { - "id": 45605, + "id": 46693, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45602, + "id": 46690, "name": "INITIAL_CHAIN_ID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45575, - "src": "2173:16:33", + "referencedDeclaration": 46663, + "src": "2173:16:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1419,55 +1420,55 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 45603, + "id": 46691, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "2192:5:33", + "src": "2192:5:37", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 45604, + "id": 46692, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2198:7:33", + "memberLocation": "2198:7:37", "memberName": "chainid", "nodeType": "MemberAccess", - "src": "2192:13:33", + "src": "2192:13:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2173:32:33", + "src": "2173:32:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45606, + "id": 46694, "nodeType": "ExpressionStatement", - "src": "2173:32:33" + "src": "2173:32:37" }, { "expression": { - "id": 45610, + "id": 46698, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45607, + "id": 46695, "name": "INITIAL_DOMAIN_SEPARATOR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45577, - "src": "2215:24:33", + "referencedDeclaration": 46665, + "src": "2215:24:37", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1479,18 +1480,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 45608, + "id": 46696, "name": "computeDomainSeparator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45867, - "src": "2242:22:33", + "referencedDeclaration": 46955, + "src": "2242:22:37", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", "typeString": "function () view returns (bytes32)" } }, - "id": 45609, + "id": 46697, "isConstant": false, "isLValue": false, "isPure": false, @@ -1499,22 +1500,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2242:24:33", + "src": "2242:24:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "2215:51:33", + "src": "2215:51:37", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 45611, + "id": 46699, "nodeType": "ExpressionStatement", - "src": "2215:51:33" + "src": "2215:51:37" } ] }, @@ -1524,18 +1525,18 @@ "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 45588, + "id": 46676, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45583, + "id": 46671, "mutability": "mutable", "name": "_name", - "nameLocation": "2016:5:33", + "nameLocation": "2016:5:37", "nodeType": "VariableDeclaration", - "scope": 45613, - "src": "2002:19:33", + "scope": 46701, + "src": "2002:19:37", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1543,10 +1544,10 @@ "typeString": "string" }, "typeName": { - "id": 45582, + "id": 46670, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2002:6:33", + "src": "2002:6:37", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1556,13 +1557,13 @@ }, { "constant": false, - "id": 45585, + "id": 46673, "mutability": "mutable", "name": "_symbol", - "nameLocation": "2045:7:33", + "nameLocation": "2045:7:37", "nodeType": "VariableDeclaration", - "scope": 45613, - "src": "2031:21:33", + "scope": 46701, + "src": "2031:21:37", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1570,10 +1571,10 @@ "typeString": "string" }, "typeName": { - "id": 45584, + "id": 46672, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2031:6:33", + "src": "2031:6:37", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1583,13 +1584,13 @@ }, { "constant": false, - "id": 45587, + "id": 46675, "mutability": "mutable", "name": "_decimals", - "nameLocation": "2068:9:33", + "nameLocation": "2068:9:37", "nodeType": "VariableDeclaration", - "scope": 45613, - "src": "2062:15:33", + "scope": 46701, + "src": "2062:15:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1597,10 +1598,10 @@ "typeString": "uint8" }, "typeName": { - "id": 45586, + "id": 46674, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2062:5:33", + "src": "2062:5:37", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1609,33 +1610,33 @@ "visibility": "internal" } ], - "src": "1992:91:33" + "src": "1992:91:37" }, "returnParameters": { - "id": 45589, + "id": 46677, "nodeType": "ParameterList", "parameters": [], - "src": "2084:0:33" + "src": "2084:0:37" }, - "scope": 45924, + "scope": 47012, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 45641, + "id": 46729, "nodeType": "FunctionDefinition", - "src": "2461:211:33", + "src": "2461:211:37", "nodes": [], "body": { - "id": 45640, + "id": 46728, "nodeType": "Block", - "src": "2541:131:33", + "src": "2541:131:37", "nodes": [], "statements": [ { "expression": { - "id": 45629, + "id": 46717, "isConstant": false, "isLValue": false, "isPure": false, @@ -1643,40 +1644,40 @@ "leftHandSide": { "baseExpression": { "baseExpression": { - "id": 45622, + "id": 46710, "name": "allowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45573, - "src": "2551:9:33", + "referencedDeclaration": 46661, + "src": "2551:9:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 45626, + "id": 46714, "indexExpression": { "expression": { - "id": 45623, + "id": 46711, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2561:3:33", + "src": "2561:3:37", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 45624, + "id": 46712, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2565:6:33", + "memberLocation": "2565:6:37", "memberName": "sender", "nodeType": "MemberAccess", - "src": "2561:10:33", + "src": "2561:10:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1687,20 +1688,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2551:21:33", + "src": "2551:21:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 45627, + "id": 46715, "indexExpression": { - "id": 45625, + "id": 46713, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45615, - "src": "2573:7:33", + "referencedDeclaration": 46703, + "src": "2573:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1711,7 +1712,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2551:30:33", + "src": "2551:30:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1720,76 +1721,76 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 45628, + "id": 46716, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45617, - "src": "2584:6:33", + "referencedDeclaration": 46705, + "src": "2584:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2551:39:33", + "src": "2551:39:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45630, + "id": 46718, "nodeType": "ExpressionStatement", - "src": "2551:39:33" + "src": "2551:39:37" }, { "eventCall": { "arguments": [ { "expression": { - "id": 45632, + "id": 46720, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2615:3:33", + "src": "2615:3:37", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 45633, + "id": 46721, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2619:6:33", + "memberLocation": "2619:6:37", "memberName": "sender", "nodeType": "MemberAccess", - "src": "2615:10:33", + "src": "2615:10:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 45634, + "id": 46722, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45615, - "src": "2627:7:33", + "referencedDeclaration": 46703, + "src": "2627:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 45635, + "id": 46723, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45617, - "src": "2636:6:33", + "referencedDeclaration": 46705, + "src": "2636:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1811,18 +1812,18 @@ "typeString": "uint256" } ], - "id": 45631, + "id": 46719, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45555, - "src": "2606:8:33", + "referencedDeclaration": 46643, + "src": "2606:8:37", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 45636, + "id": 46724, "isConstant": false, "isLValue": false, "isPure": false, @@ -1831,38 +1832,38 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2606:37:33", + "src": "2606:37:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 45637, + "id": 46725, "nodeType": "EmitStatement", - "src": "2601:42:33" + "src": "2601:42:37" }, { "expression": { "hexValue": "74727565", - "id": 45638, + "id": 46726, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2661:4:33", + "src": "2661:4:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "functionReturnParameters": 45621, - "id": 45639, + "functionReturnParameters": 46709, + "id": 46727, "nodeType": "Return", - "src": "2654:11:33" + "src": "2654:11:37" } ] }, @@ -1871,20 +1872,20 @@ "kind": "function", "modifiers": [], "name": "approve", - "nameLocation": "2470:7:33", + "nameLocation": "2470:7:37", "parameters": { - "id": 45618, + "id": 46706, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45615, + "id": 46703, "mutability": "mutable", "name": "spender", - "nameLocation": "2486:7:33", + "nameLocation": "2486:7:37", "nodeType": "VariableDeclaration", - "scope": 45641, - "src": "2478:15:33", + "scope": 46729, + "src": "2478:15:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1892,10 +1893,10 @@ "typeString": "address" }, "typeName": { - "id": 45614, + "id": 46702, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2478:7:33", + "src": "2478:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1906,13 +1907,13 @@ }, { "constant": false, - "id": 45617, + "id": 46705, "mutability": "mutable", "name": "amount", - "nameLocation": "2503:6:33", + "nameLocation": "2503:6:37", "nodeType": "VariableDeclaration", - "scope": 45641, - "src": "2495:14:33", + "scope": 46729, + "src": "2495:14:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1920,10 +1921,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45616, + "id": 46704, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2495:7:33", + "src": "2495:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1932,21 +1933,21 @@ "visibility": "internal" } ], - "src": "2477:33:33" + "src": "2477:33:37" }, "returnParameters": { - "id": 45621, + "id": 46709, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45620, + "id": 46708, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 45641, - "src": "2535:4:33", + "scope": 46729, + "src": "2535:4:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1954,10 +1955,10 @@ "typeString": "bool" }, "typeName": { - "id": 45619, + "id": 46707, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2535:4:33", + "src": "2535:4:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1966,67 +1967,67 @@ "visibility": "internal" } ], - "src": "2534:6:33" + "src": "2534:6:37" }, - "scope": 45924, + "scope": 47012, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 45674, + "id": 46762, "nodeType": "FunctionDefinition", - "src": "2678:373:33", + "src": "2678:373:37", "nodes": [], "body": { - "id": 45673, + "id": 46761, "nodeType": "Block", - "src": "2754:297:33", + "src": "2754:297:37", "nodes": [], "statements": [ { "expression": { - "id": 45655, + "id": 46743, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 45650, + "id": 46738, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45567, - "src": "2764:9:33", + "referencedDeclaration": 46655, + "src": "2764:9:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 45653, + "id": 46741, "indexExpression": { "expression": { - "id": 45651, + "id": 46739, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2774:3:33", + "src": "2774:3:37", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 45652, + "id": 46740, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2778:6:33", + "memberLocation": "2778:6:37", "memberName": "sender", "nodeType": "MemberAccess", - "src": "2774:10:33", + "src": "2774:10:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2037,7 +2038,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2764:21:33", + "src": "2764:21:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2046,60 +2047,60 @@ "nodeType": "Assignment", "operator": "-=", "rightHandSide": { - "id": 45654, + "id": 46742, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45645, - "src": "2789:6:33", + "referencedDeclaration": 46733, + "src": "2789:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2764:31:33", + "src": "2764:31:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45656, + "id": 46744, "nodeType": "ExpressionStatement", - "src": "2764:31:33" + "src": "2764:31:37" }, { - "id": 45663, + "id": 46751, "nodeType": "UncheckedBlock", - "src": "2917:58:33", + "src": "2917:58:37", "statements": [ { "expression": { - "id": 45661, + "id": 46749, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 45657, + "id": 46745, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45567, - "src": "2941:9:33", + "referencedDeclaration": 46655, + "src": "2941:9:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 45659, + "id": 46747, "indexExpression": { - "id": 45658, + "id": 46746, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45643, - "src": "2951:2:33", + "referencedDeclaration": 46731, + "src": "2951:2:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2110,7 +2111,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2941:13:33", + "src": "2941:13:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2119,26 +2120,26 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 45660, + "id": 46748, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45645, - "src": "2958:6:33", + "referencedDeclaration": 46733, + "src": "2958:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2941:23:33", + "src": "2941:23:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45662, + "id": 46750, "nodeType": "ExpressionStatement", - "src": "2941:23:33" + "src": "2941:23:37" } ] }, @@ -2147,50 +2148,50 @@ "arguments": [ { "expression": { - "id": 45665, + "id": 46753, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2999:3:33", + "src": "2999:3:37", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 45666, + "id": 46754, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3003:6:33", + "memberLocation": "3003:6:37", "memberName": "sender", "nodeType": "MemberAccess", - "src": "2999:10:33", + "src": "2999:10:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 45667, + "id": 46755, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45643, - "src": "3011:2:33", + "referencedDeclaration": 46731, + "src": "3011:2:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 45668, + "id": 46756, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45645, - "src": "3015:6:33", + "referencedDeclaration": 46733, + "src": "3015:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2212,18 +2213,18 @@ "typeString": "uint256" } ], - "id": 45664, + "id": 46752, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45547, - "src": "2990:8:33", + "referencedDeclaration": 46635, + "src": "2990:8:37", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 45669, + "id": 46757, "isConstant": false, "isLValue": false, "isPure": false, @@ -2232,38 +2233,38 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2990:32:33", + "src": "2990:32:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 45670, + "id": 46758, "nodeType": "EmitStatement", - "src": "2985:37:33" + "src": "2985:37:37" }, { "expression": { "hexValue": "74727565", - "id": 45671, + "id": 46759, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3040:4:33", + "src": "3040:4:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "functionReturnParameters": 45649, - "id": 45672, + "functionReturnParameters": 46737, + "id": 46760, "nodeType": "Return", - "src": "3033:11:33" + "src": "3033:11:37" } ] }, @@ -2272,20 +2273,20 @@ "kind": "function", "modifiers": [], "name": "transfer", - "nameLocation": "2687:8:33", + "nameLocation": "2687:8:37", "parameters": { - "id": 45646, + "id": 46734, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45643, + "id": 46731, "mutability": "mutable", "name": "to", - "nameLocation": "2704:2:33", + "nameLocation": "2704:2:37", "nodeType": "VariableDeclaration", - "scope": 45674, - "src": "2696:10:33", + "scope": 46762, + "src": "2696:10:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2293,10 +2294,10 @@ "typeString": "address" }, "typeName": { - "id": 45642, + "id": 46730, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2696:7:33", + "src": "2696:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2307,13 +2308,13 @@ }, { "constant": false, - "id": 45645, + "id": 46733, "mutability": "mutable", "name": "amount", - "nameLocation": "2716:6:33", + "nameLocation": "2716:6:37", "nodeType": "VariableDeclaration", - "scope": 45674, - "src": "2708:14:33", + "scope": 46762, + "src": "2708:14:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2321,10 +2322,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45644, + "id": 46732, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2708:7:33", + "src": "2708:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2333,21 +2334,21 @@ "visibility": "internal" } ], - "src": "2695:28:33" + "src": "2695:28:37" }, "returnParameters": { - "id": 45649, + "id": 46737, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45648, + "id": 46736, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 45674, - "src": "2748:4:33", + "scope": 46762, + "src": "2748:4:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2355,10 +2356,10 @@ "typeString": "bool" }, "typeName": { - "id": 45647, + "id": 46735, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2748:4:33", + "src": "2748:4:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2367,38 +2368,38 @@ "visibility": "internal" } ], - "src": "2747:6:33" + "src": "2747:6:37" }, - "scope": 45924, + "scope": 47012, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 45735, + "id": 46823, "nodeType": "FunctionDefinition", - "src": "3057:592:33", + "src": "3057:592:37", "nodes": [], "body": { - "id": 45734, + "id": 46822, "nodeType": "Block", - "src": "3181:468:33", + "src": "3181:468:37", "nodes": [], "statements": [ { "assignments": [ - 45686 + 46774 ], "declarations": [ { "constant": false, - "id": 45686, + "id": 46774, "mutability": "mutable", "name": "allowed", - "nameLocation": "3199:7:33", + "nameLocation": "3199:7:37", "nodeType": "VariableDeclaration", - "scope": 45734, - "src": "3191:15:33", + "scope": 46822, + "src": "3191:15:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2406,10 +2407,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45685, + "id": 46773, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3191:7:33", + "src": "3191:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2418,29 +2419,29 @@ "visibility": "internal" } ], - "id": 45693, + "id": 46781, "initialValue": { "baseExpression": { "baseExpression": { - "id": 45687, + "id": 46775, "name": "allowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45573, - "src": "3209:9:33", + "referencedDeclaration": 46661, + "src": "3209:9:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 45689, + "id": 46777, "indexExpression": { - "id": 45688, + "id": 46776, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45676, - "src": "3219:4:33", + "referencedDeclaration": 46764, + "src": "3219:4:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2451,35 +2452,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3209:15:33", + "src": "3209:15:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 45692, + "id": 46780, "indexExpression": { "expression": { - "id": 45690, + "id": 46778, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "3225:3:33", + "src": "3225:3:37", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 45691, + "id": 46779, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3229:6:33", + "memberLocation": "3229:6:37", "memberName": "sender", "nodeType": "MemberAccess", - "src": "3225:10:33", + "src": "3225:10:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2490,14 +2491,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3209:27:33", + "src": "3209:27:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3191:45:33" + "src": "3191:45:37" }, { "condition": { @@ -2505,18 +2506,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45700, + "id": 46788, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45694, + "id": 46782, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45686, - "src": "3287:7:33", + "referencedDeclaration": 46774, + "src": "3287:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2528,22 +2529,22 @@ "expression": { "arguments": [ { - "id": 45697, + "id": 46785, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3303:7:33", + "src": "3303:7:37", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 45696, + "id": 46784, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3303:7:33", + "src": "3303:7:37", "typeDescriptions": {} } } @@ -2555,18 +2556,18 @@ "typeString": "type(uint256)" } ], - "id": 45695, + "id": 46783, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "3298:4:33", + "src": "3298:4:37", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 45698, + "id": 46786, "isConstant": false, "isLValue": false, "isPure": true, @@ -2575,39 +2576,39 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3298:13:33", + "src": "3298:13:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_magic_meta_type_t_uint256", "typeString": "type(uint256)" } }, - "id": 45699, + "id": 46787, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "3312:3:33", + "memberLocation": "3312:3:37", "memberName": "max", "nodeType": "MemberAccess", - "src": "3298:17:33", + "src": "3298:17:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3287:28:33", + "src": "3287:28:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45712, + "id": 46800, "nodeType": "IfStatement", - "src": "3283:80:33", + "src": "3283:80:37", "trueBody": { "expression": { - "id": 45710, + "id": 46798, "isConstant": false, "isLValue": false, "isPure": false, @@ -2615,25 +2616,25 @@ "leftHandSide": { "baseExpression": { "baseExpression": { - "id": 45701, + "id": 46789, "name": "allowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45573, - "src": "3317:9:33", + "referencedDeclaration": 46661, + "src": "3317:9:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 45705, + "id": 46793, "indexExpression": { - "id": 45702, + "id": 46790, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45676, - "src": "3327:4:33", + "referencedDeclaration": 46764, + "src": "3327:4:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2644,35 +2645,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3317:15:33", + "src": "3317:15:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 45706, + "id": 46794, "indexExpression": { "expression": { - "id": 45703, + "id": 46791, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "3333:3:33", + "src": "3333:3:37", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 45704, + "id": 46792, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3337:6:33", + "memberLocation": "3337:6:37", "memberName": "sender", "nodeType": "MemberAccess", - "src": "3333:10:33", + "src": "3333:10:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2683,7 +2684,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3317:27:33", + "src": "3317:27:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2696,18 +2697,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45709, + "id": 46797, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45707, + "id": 46795, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45686, - "src": "3347:7:33", + "referencedDeclaration": 46774, + "src": "3347:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2716,62 +2717,62 @@ "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { - "id": 45708, + "id": 46796, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45680, - "src": "3357:6:33", + "referencedDeclaration": 46768, + "src": "3357:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3347:16:33", + "src": "3347:16:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3317:46:33", + "src": "3317:46:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45711, + "id": 46799, "nodeType": "ExpressionStatement", - "src": "3317:46:33" + "src": "3317:46:37" } }, { "expression": { - "id": 45717, + "id": 46805, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 45713, + "id": 46801, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45567, - "src": "3374:9:33", + "referencedDeclaration": 46655, + "src": "3374:9:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 45715, + "id": 46803, "indexExpression": { - "id": 45714, + "id": 46802, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45676, - "src": "3384:4:33", + "referencedDeclaration": 46764, + "src": "3384:4:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2782,7 +2783,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3374:15:33", + "src": "3374:15:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2791,60 +2792,60 @@ "nodeType": "Assignment", "operator": "-=", "rightHandSide": { - "id": 45716, + "id": 46804, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45680, - "src": "3393:6:33", + "referencedDeclaration": 46768, + "src": "3393:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3374:25:33", + "src": "3374:25:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45718, + "id": 46806, "nodeType": "ExpressionStatement", - "src": "3374:25:33" + "src": "3374:25:37" }, { - "id": 45725, + "id": 46813, "nodeType": "UncheckedBlock", - "src": "3521:58:33", + "src": "3521:58:37", "statements": [ { "expression": { - "id": 45723, + "id": 46811, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 45719, + "id": 46807, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45567, - "src": "3545:9:33", + "referencedDeclaration": 46655, + "src": "3545:9:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 45721, + "id": 46809, "indexExpression": { - "id": 45720, + "id": 46808, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45678, - "src": "3555:2:33", + "referencedDeclaration": 46766, + "src": "3555:2:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2855,7 +2856,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3545:13:33", + "src": "3545:13:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2864,26 +2865,26 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 45722, + "id": 46810, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45680, - "src": "3562:6:33", + "referencedDeclaration": 46768, + "src": "3562:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3545:23:33", + "src": "3545:23:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45724, + "id": 46812, "nodeType": "ExpressionStatement", - "src": "3545:23:33" + "src": "3545:23:37" } ] }, @@ -2891,36 +2892,36 @@ "eventCall": { "arguments": [ { - "id": 45727, + "id": 46815, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45676, - "src": "3603:4:33", + "referencedDeclaration": 46764, + "src": "3603:4:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 45728, + "id": 46816, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45678, - "src": "3609:2:33", + "referencedDeclaration": 46766, + "src": "3609:2:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 45729, + "id": 46817, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45680, - "src": "3613:6:33", + "referencedDeclaration": 46768, + "src": "3613:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2942,18 +2943,18 @@ "typeString": "uint256" } ], - "id": 45726, + "id": 46814, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45547, - "src": "3594:8:33", + "referencedDeclaration": 46635, + "src": "3594:8:37", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 45730, + "id": 46818, "isConstant": false, "isLValue": false, "isPure": false, @@ -2962,38 +2963,38 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3594:26:33", + "src": "3594:26:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 45731, + "id": 46819, "nodeType": "EmitStatement", - "src": "3589:31:33" + "src": "3589:31:37" }, { "expression": { "hexValue": "74727565", - "id": 45732, + "id": 46820, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3638:4:33", + "src": "3638:4:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "functionReturnParameters": 45684, - "id": 45733, + "functionReturnParameters": 46772, + "id": 46821, "nodeType": "Return", - "src": "3631:11:33" + "src": "3631:11:37" } ] }, @@ -3002,20 +3003,20 @@ "kind": "function", "modifiers": [], "name": "transferFrom", - "nameLocation": "3066:12:33", + "nameLocation": "3066:12:37", "parameters": { - "id": 45681, + "id": 46769, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45676, + "id": 46764, "mutability": "mutable", "name": "from", - "nameLocation": "3096:4:33", + "nameLocation": "3096:4:37", "nodeType": "VariableDeclaration", - "scope": 45735, - "src": "3088:12:33", + "scope": 46823, + "src": "3088:12:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3023,10 +3024,10 @@ "typeString": "address" }, "typeName": { - "id": 45675, + "id": 46763, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3088:7:33", + "src": "3088:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3037,13 +3038,13 @@ }, { "constant": false, - "id": 45678, + "id": 46766, "mutability": "mutable", "name": "to", - "nameLocation": "3118:2:33", + "nameLocation": "3118:2:37", "nodeType": "VariableDeclaration", - "scope": 45735, - "src": "3110:10:33", + "scope": 46823, + "src": "3110:10:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3051,10 +3052,10 @@ "typeString": "address" }, "typeName": { - "id": 45677, + "id": 46765, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3110:7:33", + "src": "3110:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3065,13 +3066,13 @@ }, { "constant": false, - "id": 45680, + "id": 46768, "mutability": "mutable", "name": "amount", - "nameLocation": "3138:6:33", + "nameLocation": "3138:6:37", "nodeType": "VariableDeclaration", - "scope": 45735, - "src": "3130:14:33", + "scope": 46823, + "src": "3130:14:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3079,10 +3080,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45679, + "id": 46767, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3130:7:33", + "src": "3130:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3091,21 +3092,21 @@ "visibility": "internal" } ], - "src": "3078:72:33" + "src": "3078:72:37" }, "returnParameters": { - "id": 45684, + "id": 46772, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45683, + "id": 46771, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 45735, - "src": "3175:4:33", + "scope": 46823, + "src": "3175:4:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3113,10 +3114,10 @@ "typeString": "bool" }, "typeName": { - "id": 45682, + "id": 46770, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3175:4:33", + "src": "3175:4:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3125,22 +3126,22 @@ "visibility": "internal" } ], - "src": "3174:6:33" + "src": "3174:6:37" }, - "scope": 45924, + "scope": 47012, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 45822, + "id": 46910, "nodeType": "FunctionDefinition", - "src": "3838:1483:33", + "src": "3838:1483:37", "nodes": [], "body": { - "id": 45821, + "id": 46909, "nodeType": "Block", - "src": "4027:1294:33", + "src": "4027:1294:37", "nodes": [], "statements": [ { @@ -3151,18 +3152,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45756, + "id": 46844, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45753, + "id": 46841, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45743, - "src": "4045:8:33", + "referencedDeclaration": 46831, + "src": "4045:8:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3172,32 +3173,32 @@ "operator": ">=", "rightExpression": { "expression": { - "id": 45754, + "id": 46842, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "4057:5:33", + "src": "4057:5:37", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 45755, + "id": 46843, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "4063:9:33", + "memberLocation": "4063:9:37", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "4057:15:33", + "src": "4057:15:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4045:27:33", + "src": "4045:27:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3205,14 +3206,14 @@ }, { "hexValue": "5045524d49545f444541444c494e455f45585049524544", - "id": 45757, + "id": 46845, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4074:25:33", + "src": "4074:25:37", "typeDescriptions": { "typeIdentifier": "t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e", "typeString": "literal_string \"PERMIT_DEADLINE_EXPIRED\"" @@ -3231,7 +3232,7 @@ "typeString": "literal_string \"PERMIT_DEADLINE_EXPIRED\"" } ], - "id": 45752, + "id": 46840, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3239,13 +3240,13 @@ -18 ], "referencedDeclaration": -18, - "src": "4037:7:33", + "src": "4037:7:37", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 45758, + "id": 46846, "isConstant": false, "isLValue": false, "isPure": false, @@ -3254,36 +3255,36 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4037:63:33", + "src": "4037:63:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 45759, + "id": 46847, "nodeType": "ExpressionStatement", - "src": "4037:63:33" + "src": "4037:63:37" }, { - "id": 45814, + "id": 46902, "nodeType": "UncheckedBlock", - "src": "4241:1027:33", + "src": "4241:1027:37", "statements": [ { "assignments": [ - 45761 + 46849 ], "declarations": [ { "constant": false, - "id": 45761, + "id": 46849, "mutability": "mutable", "name": "recoveredAddress", - "nameLocation": "4273:16:33", + "nameLocation": "4273:16:37", "nodeType": "VariableDeclaration", - "scope": 45814, - "src": "4265:24:33", + "scope": 46902, + "src": "4265:24:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3291,10 +3292,10 @@ "typeString": "address" }, "typeName": { - "id": 45760, + "id": 46848, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4265:7:33", + "src": "4265:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3304,7 +3305,7 @@ "visibility": "internal" } ], - "id": 45791, + "id": 46879, "initialValue": { "arguments": [ { @@ -3313,14 +3314,14 @@ "arguments": [ { "hexValue": "1901", - "id": 45766, + "id": 46854, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4392:10:33", + "src": "4392:10:37", "typeDescriptions": { "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", "typeString": "literal_string hex\"1901\"" @@ -3331,18 +3332,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 45767, + "id": 46855, "name": "DOMAIN_SEPARATOR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45837, - "src": "4428:16:33", + "referencedDeclaration": 46925, + "src": "4428:16:37", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", "typeString": "function () view returns (bytes32)" } }, - "id": 45768, + "id": 46856, "isConstant": false, "isLValue": false, "isPure": false, @@ -3351,7 +3352,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4428:18:33", + "src": "4428:18:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3366,14 +3367,14 @@ "arguments": [ { "hexValue": "5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529", - "id": 45773, + "id": 46861, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4602:84:33", + "src": "4602:84:37", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9", "typeString": "literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"" @@ -3388,18 +3389,18 @@ "typeString": "literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"" } ], - "id": 45772, + "id": 46860, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "4555:9:33", + "src": "4555:9:37", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 45774, + "id": 46862, "isConstant": false, "isLValue": false, "isPure": true, @@ -3408,7 +3409,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4555:165:33", + "src": "4555:165:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3416,43 +3417,43 @@ } }, { - "id": 45775, + "id": 46863, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45737, - "src": "4754:5:33", + "referencedDeclaration": 46825, + "src": "4754:5:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 45776, + "id": 46864, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45739, - "src": "4793:7:33", + "referencedDeclaration": 46827, + "src": "4793:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 45777, + "id": 46865, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45741, - "src": "4834:5:33", + "referencedDeclaration": 46829, + "src": "4834:5:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 45781, + "id": 46869, "isConstant": false, "isLValue": false, "isPure": false, @@ -3460,28 +3461,28 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4873:15:33", + "src": "4873:15:37", "subExpression": { "baseExpression": { - "id": 45778, + "id": 46866, "name": "nonces", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45581, - "src": "4873:6:33", + "referencedDeclaration": 46669, + "src": "4873:6:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 45780, + "id": 46868, "indexExpression": { - "id": 45779, + "id": 46867, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45737, - "src": "4880:5:33", + "referencedDeclaration": 46825, + "src": "4880:5:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3492,7 +3493,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4873:13:33", + "src": "4873:13:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3504,12 +3505,12 @@ } }, { - "id": 45782, + "id": 46870, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45743, - "src": "4922:8:33", + "referencedDeclaration": 46831, + "src": "4922:8:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3544,32 +3545,32 @@ } ], "expression": { - "id": 45770, + "id": 46858, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4511:3:33", + "src": "4511:3:37", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 45771, + "id": 46859, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "4515:6:33", + "memberLocation": "4515:6:37", "memberName": "encode", "nodeType": "MemberAccess", - "src": "4511:10:33", + "src": "4511:10:37", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 45783, + "id": 46871, "isConstant": false, "isLValue": false, "isPure": false, @@ -3578,7 +3579,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4511:449:33", + "src": "4511:449:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -3593,18 +3594,18 @@ "typeString": "bytes memory" } ], - "id": 45769, + "id": 46857, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "4472:9:33", + "src": "4472:9:37", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 45784, + "id": 46872, "isConstant": false, "isLValue": false, "isPure": false, @@ -3613,7 +3614,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4472:514:33", + "src": "4472:514:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3637,32 +3638,32 @@ } ], "expression": { - "id": 45764, + "id": 46852, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4350:3:33", + "src": "4350:3:37", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 45765, + "id": 46853, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "4354:12:33", + "memberLocation": "4354:12:37", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4350:16:33", + "src": "4350:16:37", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 45785, + "id": 46873, "isConstant": false, "isLValue": false, "isPure": false, @@ -3671,7 +3672,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4350:658:33", + "src": "4350:658:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -3686,18 +3687,18 @@ "typeString": "bytes memory" } ], - "id": 45763, + "id": 46851, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "4319:9:33", + "src": "4319:9:37", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 45786, + "id": 46874, "isConstant": false, "isLValue": false, "isPure": false, @@ -3706,7 +3707,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4319:707:33", + "src": "4319:707:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3714,36 +3715,36 @@ } }, { - "id": 45787, + "id": 46875, "name": "v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45745, - "src": "5044:1:33", + "referencedDeclaration": 46833, + "src": "5044:1:37", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 45788, + "id": 46876, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45747, - "src": "5063:1:33", + "referencedDeclaration": 46835, + "src": "5063:1:37", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 45789, + "id": 46877, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45749, - "src": "5082:1:33", + "referencedDeclaration": 46837, + "src": "5082:1:37", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3769,18 +3770,18 @@ "typeString": "bytes32" } ], - "id": 45762, + "id": 46850, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -6, - "src": "4292:9:33", + "src": "4292:9:37", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 45790, + "id": 46878, "isConstant": false, "isLValue": false, "isPure": false, @@ -3789,7 +3790,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4292:805:33", + "src": "4292:805:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -3797,7 +3798,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4265:832:33" + "src": "4265:832:37" }, { "expression": { @@ -3807,7 +3808,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 45802, + "id": 46890, "isConstant": false, "isLValue": false, "isPure": false, @@ -3817,18 +3818,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 45798, + "id": 46886, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45793, + "id": 46881, "name": "recoveredAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45761, - "src": "5120:16:33", + "referencedDeclaration": 46849, + "src": "5120:16:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3840,14 +3841,14 @@ "arguments": [ { "hexValue": "30", - "id": 45796, + "id": 46884, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5148:1:33", + "src": "5148:1:37", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -3862,26 +3863,26 @@ "typeString": "int_const 0" } ], - "id": 45795, + "id": 46883, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5140:7:33", + "src": "5140:7:37", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 45794, + "id": 46882, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5140:7:33", + "src": "5140:7:37", "typeDescriptions": {} } }, - "id": 45797, + "id": 46885, "isConstant": false, "isLValue": false, "isPure": true, @@ -3890,14 +3891,14 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5140:10:33", + "src": "5140:10:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5120:30:33", + "src": "5120:30:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3910,18 +3911,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 45801, + "id": 46889, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45799, + "id": 46887, "name": "recoveredAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45761, - "src": "5154:16:33", + "referencedDeclaration": 46849, + "src": "5154:16:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3930,24 +3931,24 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 45800, + "id": 46888, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45737, - "src": "5174:5:33", + "referencedDeclaration": 46825, + "src": "5174:5:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5154:25:33", + "src": "5154:25:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "5120:59:33", + "src": "5120:59:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3955,14 +3956,14 @@ }, { "hexValue": "494e56414c49445f5349474e4552", - "id": 45803, + "id": 46891, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5181:16:33", + "src": "5181:16:37", "typeDescriptions": { "typeIdentifier": "t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c", "typeString": "literal_string \"INVALID_SIGNER\"" @@ -3981,7 +3982,7 @@ "typeString": "literal_string \"INVALID_SIGNER\"" } ], - "id": 45792, + "id": 46880, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3989,13 +3990,13 @@ -18 ], "referencedDeclaration": -18, - "src": "5112:7:33", + "src": "5112:7:37", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 45804, + "id": 46892, "isConstant": false, "isLValue": false, "isPure": false, @@ -4004,20 +4005,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5112:86:33", + "src": "5112:86:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 45805, + "id": 46893, "nodeType": "ExpressionStatement", - "src": "5112:86:33" + "src": "5112:86:37" }, { "expression": { - "id": 45812, + "id": 46900, "isConstant": false, "isLValue": false, "isPure": false, @@ -4025,25 +4026,25 @@ "leftHandSide": { "baseExpression": { "baseExpression": { - "id": 45806, + "id": 46894, "name": "allowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45573, - "src": "5213:9:33", + "referencedDeclaration": 46661, + "src": "5213:9:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 45809, + "id": 46897, "indexExpression": { - "id": 45807, + "id": 46895, "name": "recoveredAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45761, - "src": "5223:16:33", + "referencedDeclaration": 46849, + "src": "5223:16:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4054,20 +4055,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5213:27:33", + "src": "5213:27:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 45810, + "id": 46898, "indexExpression": { - "id": 45808, + "id": 46896, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45739, - "src": "5241:7:33", + "referencedDeclaration": 46827, + "src": "5241:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4078,7 +4079,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5213:36:33", + "src": "5213:36:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4087,26 +4088,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 45811, + "id": 46899, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45741, - "src": "5252:5:33", + "referencedDeclaration": 46829, + "src": "5252:5:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5213:44:33", + "src": "5213:44:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45813, + "id": 46901, "nodeType": "ExpressionStatement", - "src": "5213:44:33" + "src": "5213:44:37" } ] }, @@ -4114,36 +4115,36 @@ "eventCall": { "arguments": [ { - "id": 45816, + "id": 46904, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45737, - "src": "5292:5:33", + "referencedDeclaration": 46825, + "src": "5292:5:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 45817, + "id": 46905, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45739, - "src": "5299:7:33", + "referencedDeclaration": 46827, + "src": "5299:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 45818, + "id": 46906, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45741, - "src": "5308:5:33", + "referencedDeclaration": 46829, + "src": "5308:5:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4165,18 +4166,18 @@ "typeString": "uint256" } ], - "id": 45815, + "id": 46903, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45555, - "src": "5283:8:33", + "referencedDeclaration": 46643, + "src": "5283:8:37", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 45819, + "id": 46907, "isConstant": false, "isLValue": false, "isPure": false, @@ -4185,16 +4186,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5283:31:33", + "src": "5283:31:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 45820, + "id": 46908, "nodeType": "EmitStatement", - "src": "5278:36:33" + "src": "5278:36:37" } ] }, @@ -4203,20 +4204,20 @@ "kind": "function", "modifiers": [], "name": "permit", - "nameLocation": "3847:6:33", + "nameLocation": "3847:6:37", "parameters": { - "id": 45750, + "id": 46838, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45737, + "id": 46825, "mutability": "mutable", "name": "owner", - "nameLocation": "3871:5:33", + "nameLocation": "3871:5:37", "nodeType": "VariableDeclaration", - "scope": 45822, - "src": "3863:13:33", + "scope": 46910, + "src": "3863:13:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4224,10 +4225,10 @@ "typeString": "address" }, "typeName": { - "id": 45736, + "id": 46824, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3863:7:33", + "src": "3863:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4238,13 +4239,13 @@ }, { "constant": false, - "id": 45739, + "id": 46827, "mutability": "mutable", "name": "spender", - "nameLocation": "3894:7:33", + "nameLocation": "3894:7:37", "nodeType": "VariableDeclaration", - "scope": 45822, - "src": "3886:15:33", + "scope": 46910, + "src": "3886:15:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4252,10 +4253,10 @@ "typeString": "address" }, "typeName": { - "id": 45738, + "id": 46826, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3886:7:33", + "src": "3886:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4266,13 +4267,13 @@ }, { "constant": false, - "id": 45741, + "id": 46829, "mutability": "mutable", "name": "value", - "nameLocation": "3919:5:33", + "nameLocation": "3919:5:37", "nodeType": "VariableDeclaration", - "scope": 45822, - "src": "3911:13:33", + "scope": 46910, + "src": "3911:13:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4280,10 +4281,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45740, + "id": 46828, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3911:7:33", + "src": "3911:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4293,13 +4294,13 @@ }, { "constant": false, - "id": 45743, + "id": 46831, "mutability": "mutable", "name": "deadline", - "nameLocation": "3942:8:33", + "nameLocation": "3942:8:37", "nodeType": "VariableDeclaration", - "scope": 45822, - "src": "3934:16:33", + "scope": 46910, + "src": "3934:16:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4307,10 +4308,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45742, + "id": 46830, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3934:7:33", + "src": "3934:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4320,13 +4321,13 @@ }, { "constant": false, - "id": 45745, + "id": 46833, "mutability": "mutable", "name": "v", - "nameLocation": "3966:1:33", + "nameLocation": "3966:1:37", "nodeType": "VariableDeclaration", - "scope": 45822, - "src": "3960:7:33", + "scope": 46910, + "src": "3960:7:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4334,10 +4335,10 @@ "typeString": "uint8" }, "typeName": { - "id": 45744, + "id": 46832, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3960:5:33", + "src": "3960:5:37", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4347,13 +4348,13 @@ }, { "constant": false, - "id": 45747, + "id": 46835, "mutability": "mutable", "name": "r", - "nameLocation": "3985:1:33", + "nameLocation": "3985:1:37", "nodeType": "VariableDeclaration", - "scope": 45822, - "src": "3977:9:33", + "scope": 46910, + "src": "3977:9:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4361,10 +4362,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 45746, + "id": 46834, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3977:7:33", + "src": "3977:7:37", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4374,13 +4375,13 @@ }, { "constant": false, - "id": 45749, + "id": 46837, "mutability": "mutable", "name": "s", - "nameLocation": "4004:1:33", + "nameLocation": "4004:1:37", "nodeType": "VariableDeclaration", - "scope": 45822, - "src": "3996:9:33", + "scope": 46910, + "src": "3996:9:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4388,10 +4389,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 45748, + "id": 46836, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3996:7:33", + "src": "3996:7:37", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4400,28 +4401,28 @@ "visibility": "internal" } ], - "src": "3853:158:33" + "src": "3853:158:37" }, "returnParameters": { - "id": 45751, + "id": 46839, "nodeType": "ParameterList", "parameters": [], - "src": "4027:0:33" + "src": "4027:0:37" }, - "scope": 45924, + "scope": 47012, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 45837, + "id": 46925, "nodeType": "FunctionDefinition", - "src": "5327:177:33", + "src": "5327:177:37", "nodes": [], "body": { - "id": 45836, + "id": 46924, "nodeType": "Block", - "src": "5393:111:33", + "src": "5393:111:37", "nodes": [], "statements": [ { @@ -4431,33 +4432,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45830, + "id": 46918, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 45827, + "id": 46915, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "5410:5:33", + "src": "5410:5:37", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 45828, + "id": 46916, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "5416:7:33", + "memberLocation": "5416:7:37", "memberName": "chainid", "nodeType": "MemberAccess", - "src": "5410:13:33", + "src": "5410:13:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4466,18 +4467,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 45829, + "id": 46917, "name": "INITIAL_CHAIN_ID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45575, - "src": "5427:16:33", + "referencedDeclaration": 46663, + "src": "5427:16:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5410:33:33", + "src": "5410:33:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4487,18 +4488,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 45832, + "id": 46920, "name": "computeDomainSeparator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45867, - "src": "5473:22:33", + "referencedDeclaration": 46955, + "src": "5473:22:37", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", "typeString": "function () view returns (bytes32)" } }, - "id": 45833, + "id": 46921, "isConstant": false, "isLValue": false, "isPure": false, @@ -4507,27 +4508,27 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5473:24:33", + "src": "5473:24:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 45834, + "id": 46922, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "5410:87:33", + "src": "5410:87:37", "trueExpression": { - "id": 45831, + "id": 46919, "name": "INITIAL_DOMAIN_SEPARATOR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45577, - "src": "5446:24:33", + "referencedDeclaration": 46665, + "src": "5446:24:37", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4538,10 +4539,10 @@ "typeString": "bytes32" } }, - "functionReturnParameters": 45826, - "id": 45835, + "functionReturnParameters": 46914, + "id": 46923, "nodeType": "Return", - "src": "5403:94:33" + "src": "5403:94:37" } ] }, @@ -4550,26 +4551,26 @@ "kind": "function", "modifiers": [], "name": "DOMAIN_SEPARATOR", - "nameLocation": "5336:16:33", + "nameLocation": "5336:16:37", "parameters": { - "id": 45823, + "id": 46911, "nodeType": "ParameterList", "parameters": [], - "src": "5352:2:33" + "src": "5352:2:37" }, "returnParameters": { - "id": 45826, + "id": 46914, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45825, + "id": 46913, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 45837, - "src": "5384:7:33", + "scope": 46925, + "src": "5384:7:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4577,10 +4578,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 45824, + "id": 46912, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5384:7:33", + "src": "5384:7:37", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4589,22 +4590,22 @@ "visibility": "internal" } ], - "src": "5383:9:33" + "src": "5383:9:37" }, - "scope": 45924, + "scope": 47012, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 45867, + "id": 46955, "nodeType": "FunctionDefinition", - "src": "5510:446:33", + "src": "5510:446:37", "nodes": [], "body": { - "id": 45866, + "id": 46954, "nodeType": "Block", - "src": "5584:372:33", + "src": "5584:372:37", "nodes": [], "statements": [ { @@ -4616,14 +4617,14 @@ "arguments": [ { "hexValue": "454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429", - "id": 45846, + "id": 46934, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5682:84:33", + "src": "5682:84:37", "typeDescriptions": { "typeIdentifier": "t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f", "typeString": "literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"" @@ -4638,18 +4639,18 @@ "typeString": "literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"" } ], - "id": 45845, + "id": 46933, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "5672:9:33", + "src": "5672:9:37", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 45847, + "id": 46935, "isConstant": false, "isLValue": false, "isPure": true, @@ -4658,7 +4659,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5672:95:33", + "src": "5672:95:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -4670,12 +4671,12 @@ { "arguments": [ { - "id": 45851, + "id": 46939, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45557, - "src": "5805:4:33", + "referencedDeclaration": 46645, + "src": "5805:4:37", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -4689,26 +4690,26 @@ "typeString": "string storage ref" } ], - "id": 45850, + "id": 46938, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5799:5:33", + "src": "5799:5:37", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 45849, + "id": 46937, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5799:5:33", + "src": "5799:5:37", "typeDescriptions": {} } }, - "id": 45852, + "id": 46940, "isConstant": false, "isLValue": false, "isPure": false, @@ -4717,7 +4718,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5799:11:33", + "src": "5799:11:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", @@ -4732,18 +4733,18 @@ "typeString": "bytes storage pointer" } ], - "id": 45848, + "id": 46936, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "5789:9:33", + "src": "5789:9:37", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 45853, + "id": 46941, "isConstant": false, "isLValue": false, "isPure": false, @@ -4752,7 +4753,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5789:22:33", + "src": "5789:22:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -4763,14 +4764,14 @@ "arguments": [ { "hexValue": "31", - "id": 45855, + "id": 46943, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5843:3:33", + "src": "5843:3:37", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", "typeString": "literal_string \"1\"" @@ -4785,18 +4786,18 @@ "typeString": "literal_string \"1\"" } ], - "id": 45854, + "id": 46942, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "5833:9:33", + "src": "5833:9:37", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 45856, + "id": 46944, "isConstant": false, "isLValue": false, "isPure": true, @@ -4805,7 +4806,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5833:14:33", + "src": "5833:14:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -4814,26 +4815,26 @@ }, { "expression": { - "id": 45857, + "id": 46945, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "5869:5:33", + "src": "5869:5:37", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 45858, + "id": 46946, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "5875:7:33", + "memberLocation": "5875:7:37", "memberName": "chainid", "nodeType": "MemberAccess", - "src": "5869:13:33", + "src": "5869:13:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4842,14 +4843,14 @@ { "arguments": [ { - "id": 45861, + "id": 46949, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "5912:4:33", + "src": "5912:4:37", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$45924", + "typeIdentifier": "t_contract$_ERC20_$47012", "typeString": "contract ERC20" } } @@ -4857,30 +4858,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ERC20_$45924", + "typeIdentifier": "t_contract$_ERC20_$47012", "typeString": "contract ERC20" } ], - "id": 45860, + "id": 46948, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5904:7:33", + "src": "5904:7:37", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 45859, + "id": 46947, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5904:7:33", + "src": "5904:7:37", "typeDescriptions": {} } }, - "id": 45862, + "id": 46950, "isConstant": false, "isLValue": false, "isPure": false, @@ -4889,7 +4890,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5904:13:33", + "src": "5904:13:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -4921,32 +4922,32 @@ } ], "expression": { - "id": 45843, + "id": 46931, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "5640:3:33", + "src": "5640:3:37", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 45844, + "id": 46932, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "5644:6:33", + "memberLocation": "5644:6:37", "memberName": "encode", "nodeType": "MemberAccess", - "src": "5640:10:33", + "src": "5640:10:37", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 45863, + "id": 46951, "isConstant": false, "isLValue": false, "isPure": false, @@ -4955,7 +4956,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5640:295:33", + "src": "5640:295:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -4970,18 +4971,18 @@ "typeString": "bytes memory" } ], - "id": 45842, + "id": 46930, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "5613:9:33", + "src": "5613:9:37", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 45864, + "id": 46952, "isConstant": false, "isLValue": false, "isPure": false, @@ -4990,17 +4991,17 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5613:336:33", + "src": "5613:336:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 45841, - "id": 45865, + "functionReturnParameters": 46929, + "id": 46953, "nodeType": "Return", - "src": "5594:355:33" + "src": "5594:355:37" } ] }, @@ -5008,26 +5009,26 @@ "kind": "function", "modifiers": [], "name": "computeDomainSeparator", - "nameLocation": "5519:22:33", + "nameLocation": "5519:22:37", "parameters": { - "id": 45838, + "id": 46926, "nodeType": "ParameterList", "parameters": [], - "src": "5541:2:33" + "src": "5541:2:37" }, "returnParameters": { - "id": 45841, + "id": 46929, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45840, + "id": 46928, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 45867, - "src": "5575:7:33", + "scope": 46955, + "src": "5575:7:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5035,10 +5036,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 45839, + "id": 46927, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5575:7:33", + "src": "5575:7:37", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5047,38 +5048,38 @@ "visibility": "internal" } ], - "src": "5574:9:33" + "src": "5574:9:37" }, - "scope": 45924, + "scope": 47012, "stateMutability": "view", "virtual": true, "visibility": "internal" }, { - "id": 45895, + "id": 46983, "nodeType": "FunctionDefinition", - "src": "6150:325:33", + "src": "6150:325:37", "nodes": [], "body": { - "id": 45894, + "id": 46982, "nodeType": "Block", - "src": "6210:265:33", + "src": "6210:265:37", "nodes": [], "statements": [ { "expression": { - "id": 45876, + "id": 46964, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45874, + "id": 46962, "name": "totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45563, - "src": "6220:11:33", + "referencedDeclaration": 46651, + "src": "6220:11:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5087,60 +5088,60 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 45875, + "id": 46963, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45871, - "src": "6235:6:33", + "referencedDeclaration": 46959, + "src": "6235:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6220:21:33", + "src": "6220:21:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45877, + "id": 46965, "nodeType": "ExpressionStatement", - "src": "6220:21:33" + "src": "6220:21:37" }, { - "id": 45884, + "id": 46972, "nodeType": "UncheckedBlock", - "src": "6363:58:33", + "src": "6363:58:37", "statements": [ { "expression": { - "id": 45882, + "id": 46970, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 45878, + "id": 46966, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45567, - "src": "6387:9:33", + "referencedDeclaration": 46655, + "src": "6387:9:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 45880, + "id": 46968, "indexExpression": { - "id": 45879, + "id": 46967, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45869, - "src": "6397:2:33", + "referencedDeclaration": 46957, + "src": "6397:2:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5151,7 +5152,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6387:13:33", + "src": "6387:13:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5160,26 +5161,26 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 45881, + "id": 46969, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45871, - "src": "6404:6:33", + "referencedDeclaration": 46959, + "src": "6404:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6387:23:33", + "src": "6387:23:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45883, + "id": 46971, "nodeType": "ExpressionStatement", - "src": "6387:23:33" + "src": "6387:23:37" } ] }, @@ -5190,14 +5191,14 @@ "arguments": [ { "hexValue": "30", - "id": 45888, + "id": 46976, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6453:1:33", + "src": "6453:1:37", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5212,26 +5213,26 @@ "typeString": "int_const 0" } ], - "id": 45887, + "id": 46975, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6445:7:33", + "src": "6445:7:37", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 45886, + "id": 46974, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6445:7:33", + "src": "6445:7:37", "typeDescriptions": {} } }, - "id": 45889, + "id": 46977, "isConstant": false, "isLValue": false, "isPure": true, @@ -5240,7 +5241,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6445:10:33", + "src": "6445:10:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -5248,24 +5249,24 @@ } }, { - "id": 45890, + "id": 46978, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45869, - "src": "6457:2:33", + "referencedDeclaration": 46957, + "src": "6457:2:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 45891, + "id": 46979, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45871, - "src": "6461:6:33", + "referencedDeclaration": 46959, + "src": "6461:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5287,18 +5288,18 @@ "typeString": "uint256" } ], - "id": 45885, + "id": 46973, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45547, - "src": "6436:8:33", + "referencedDeclaration": 46635, + "src": "6436:8:37", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 45892, + "id": 46980, "isConstant": false, "isLValue": false, "isPure": false, @@ -5307,16 +5308,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6436:32:33", + "src": "6436:32:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 45893, + "id": 46981, "nodeType": "EmitStatement", - "src": "6431:37:33" + "src": "6431:37:37" } ] }, @@ -5324,20 +5325,20 @@ "kind": "function", "modifiers": [], "name": "_mint", - "nameLocation": "6159:5:33", + "nameLocation": "6159:5:37", "parameters": { - "id": 45872, + "id": 46960, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45869, + "id": 46957, "mutability": "mutable", "name": "to", - "nameLocation": "6173:2:33", + "nameLocation": "6173:2:37", "nodeType": "VariableDeclaration", - "scope": 45895, - "src": "6165:10:33", + "scope": 46983, + "src": "6165:10:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5345,10 +5346,10 @@ "typeString": "address" }, "typeName": { - "id": 45868, + "id": 46956, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6165:7:33", + "src": "6165:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5359,13 +5360,13 @@ }, { "constant": false, - "id": 45871, + "id": 46959, "mutability": "mutable", "name": "amount", - "nameLocation": "6185:6:33", + "nameLocation": "6185:6:37", "nodeType": "VariableDeclaration", - "scope": 45895, - "src": "6177:14:33", + "scope": 46983, + "src": "6177:14:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5373,10 +5374,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45870, + "id": 46958, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6177:7:33", + "src": "6177:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5385,58 +5386,58 @@ "visibility": "internal" } ], - "src": "6164:28:33" + "src": "6164:28:37" }, "returnParameters": { - "id": 45873, + "id": 46961, "nodeType": "ParameterList", "parameters": [], - "src": "6210:0:33" + "src": "6210:0:37" }, - "scope": 45924, + "scope": 47012, "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { - "id": 45923, + "id": 47011, "nodeType": "FunctionDefinition", - "src": "6481:328:33", + "src": "6481:328:37", "nodes": [], "body": { - "id": 45922, + "id": 47010, "nodeType": "Block", - "src": "6543:266:33", + "src": "6543:266:37", "nodes": [], "statements": [ { "expression": { - "id": 45906, + "id": 46994, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 45902, + "id": 46990, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45567, - "src": "6553:9:33", + "referencedDeclaration": 46655, + "src": "6553:9:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 45904, + "id": 46992, "indexExpression": { - "id": 45903, + "id": 46991, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45897, - "src": "6563:4:33", + "referencedDeclaration": 46985, + "src": "6563:4:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5447,7 +5448,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6553:15:33", + "src": "6553:15:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5456,46 +5457,46 @@ "nodeType": "Assignment", "operator": "-=", "rightHandSide": { - "id": 45905, + "id": 46993, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45899, - "src": "6572:6:33", + "referencedDeclaration": 46987, + "src": "6572:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6553:25:33", + "src": "6553:25:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45907, + "id": 46995, "nodeType": "ExpressionStatement", - "src": "6553:25:33" + "src": "6553:25:37" }, { - "id": 45912, + "id": 47000, "nodeType": "UncheckedBlock", - "src": "6697:56:33", + "src": "6697:56:37", "statements": [ { "expression": { - "id": 45910, + "id": 46998, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45908, + "id": 46996, "name": "totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45563, - "src": "6721:11:33", + "referencedDeclaration": 46651, + "src": "6721:11:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5504,26 +5505,26 @@ "nodeType": "Assignment", "operator": "-=", "rightHandSide": { - "id": 45909, + "id": 46997, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45899, - "src": "6736:6:33", + "referencedDeclaration": 46987, + "src": "6736:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6721:21:33", + "src": "6721:21:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45911, + "id": 46999, "nodeType": "ExpressionStatement", - "src": "6721:21:33" + "src": "6721:21:37" } ] }, @@ -5531,12 +5532,12 @@ "eventCall": { "arguments": [ { - "id": 45914, + "id": 47002, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45897, - "src": "6777:4:33", + "referencedDeclaration": 46985, + "src": "6777:4:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5546,14 +5547,14 @@ "arguments": [ { "hexValue": "30", - "id": 45917, + "id": 47005, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6791:1:33", + "src": "6791:1:37", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5568,26 +5569,26 @@ "typeString": "int_const 0" } ], - "id": 45916, + "id": 47004, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6783:7:33", + "src": "6783:7:37", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 45915, + "id": 47003, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6783:7:33", + "src": "6783:7:37", "typeDescriptions": {} } }, - "id": 45918, + "id": 47006, "isConstant": false, "isLValue": false, "isPure": true, @@ -5596,7 +5597,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6783:10:33", + "src": "6783:10:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -5604,12 +5605,12 @@ } }, { - "id": 45919, + "id": 47007, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45899, - "src": "6795:6:33", + "referencedDeclaration": 46987, + "src": "6795:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5631,18 +5632,18 @@ "typeString": "uint256" } ], - "id": 45913, + "id": 47001, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45547, - "src": "6768:8:33", + "referencedDeclaration": 46635, + "src": "6768:8:37", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 45920, + "id": 47008, "isConstant": false, "isLValue": false, "isPure": false, @@ -5651,16 +5652,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6768:34:33", + "src": "6768:34:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 45921, + "id": 47009, "nodeType": "EmitStatement", - "src": "6763:39:33" + "src": "6763:39:37" } ] }, @@ -5668,20 +5669,20 @@ "kind": "function", "modifiers": [], "name": "_burn", - "nameLocation": "6490:5:33", + "nameLocation": "6490:5:37", "parameters": { - "id": 45900, + "id": 46988, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45897, + "id": 46985, "mutability": "mutable", "name": "from", - "nameLocation": "6504:4:33", + "nameLocation": "6504:4:37", "nodeType": "VariableDeclaration", - "scope": 45923, - "src": "6496:12:33", + "scope": 47011, + "src": "6496:12:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5689,10 +5690,10 @@ "typeString": "address" }, "typeName": { - "id": 45896, + "id": 46984, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6496:7:33", + "src": "6496:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5703,13 +5704,13 @@ }, { "constant": false, - "id": 45899, + "id": 46987, "mutability": "mutable", "name": "amount", - "nameLocation": "6518:6:33", + "nameLocation": "6518:6:37", "nodeType": "VariableDeclaration", - "scope": 45923, - "src": "6510:14:33", + "scope": 47011, + "src": "6510:14:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5717,10 +5718,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45898, + "id": 46986, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6510:7:33", + "src": "6510:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5729,15 +5730,15 @@ "visibility": "internal" } ], - "src": "6495:30:33" + "src": "6495:30:37" }, "returnParameters": { - "id": 45901, + "id": 46989, "nodeType": "ParameterList", "parameters": [], - "src": "6543:0:33" + "src": "6543:0:37" }, - "scope": 45924, + "scope": 47012, "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" @@ -5749,26 +5750,26 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 45539, + "id": 46627, "nodeType": "StructuredDocumentation", - "src": "68:406:33", + "src": "68:406:37", "text": "@notice Modern and gas efficient ERC20 + EIP-2612 implementation.\n @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)\n @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)\n @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it." }, "fullyImplemented": true, "linearizedBaseContracts": [ - 45924 + 47012 ], "name": "ERC20", - "nameLocation": "492:5:33", - "scope": 45925, + "nameLocation": "492:5:37", + "scope": 47013, "usedErrors": [], "usedEvents": [ - 45547, - 45555 + 46635, + 46643 ] } ], "license": "AGPL-3.0-only" }, - "id": 33 + "id": 37 } \ No newline at end of file diff --git a/tests/contract-playground/out/ERC721.sol/ERC721.json b/tests/contract-playground/out/ERC721.sol/ERC721.json index 97c93a039..fed7c804b 100644 --- a/tests/contract-playground/out/ERC721.sol/ERC721.json +++ b/tests/contract-playground/out/ERC721.sol/ERC721.json @@ -349,12 +349,12 @@ ], "bytecode": { "object": "0x60806040523480156200001157600080fd5b50604051620013e7380380620013e783398101604081905262000034916200011f565b600062000042838262000218565b50600162000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6110f380620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610c7f565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610cec565b61012461011f366004610cff565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610d34565b610333565b005b61014f61015f366004610d5e565b61044d565b61014f610172366004610d5e565b61047e565b610124610185366004610cff565b610499565b61019d610198366004610d9a565b6104f9565b6040519081526020016100f3565b61010461057f565b61014f6101c1366004610db5565b61058e565b61014f6101d4366004610e07565b61059d565b6101046101e7366004610cff565b6105d5565b6100e76101fa366004610ee3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028990610f16565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610f16565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b600061031782610649565b506000908152600460205260409020546001600160a01b031690565b600061033e82610499565b9050806001600160a01b0316836001600160a01b0316036103b05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103cc57506103cc81336101fa565b61043e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103a7565b61044883836106ab565b505050565b6104573382610719565b6104735760405162461bcd60e51b81526004016103a790610f50565b610448838383610798565b6104488383836040518060200160405280600081525061059d565b6000818152600260205260408120546001600160a01b0316806102745760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b60006001600160a01b0382166105635760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103a7565b506001600160a01b031660009081526003602052604090205490565b60606001805461028990610f16565b6105993383836108fc565b5050565b6105a73383610719565b6105c35760405162461bcd60e51b81526004016103a790610f50565b6105cf848484846109ca565b50505050565b60606105e082610649565b60006105f760408051602081019091526000815290565b905060008151116106175760405180602001604052806000815250610642565b80610621846109fd565b604051602001610632929190610f9d565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166106a85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e082610499565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061072583610499565b9050806001600160a01b0316846001600160a01b0316148061076c57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107905750836001600160a01b03166107858461030c565b6001600160a01b0316145b949350505050565b826001600160a01b03166107ab82610499565b6001600160a01b0316146107d15760405162461bcd60e51b81526004016103a790610fcc565b6001600160a01b0382166108335760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a7565b826001600160a01b031661084682610499565b6001600160a01b03161461086c5760405162461bcd60e51b81526004016103a790610fcc565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361095d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103a7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109d5848484610798565b6109e184848484610a90565b6105cf5760405162461bcd60e51b81526004016103a790611011565b60606000610a0a83610b91565b600101905060008167ffffffffffffffff811115610a2a57610a2a610df1565b6040519080825280601f01601f191660200182016040528015610a54576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a5e57509392505050565b60006001600160a01b0384163b15610b8657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610ad4903390899088908890600401611063565b6020604051808303816000875af1925050508015610b0f575060408051601f3d908101601f19168201909252610b0c918101906110a0565b60015b610b6c573d808015610b3d576040519150601f19603f3d011682016040523d82523d6000602084013e610b42565b606091505b508051600003610b645760405162461bcd60e51b81526004016103a790611011565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610790565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610bd05772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610bfc576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c1a57662386f26fc10000830492506010015b6305f5e1008310610c32576305f5e100830492506008015b6127108310610c4657612710830492506004015b60648310610c58576064830492506002015b600a83106102745760010192915050565b6001600160e01b0319811681146106a857600080fd5b600060208284031215610c9157600080fd5b813561064281610c69565b60005b83811015610cb7578181015183820152602001610c9f565b50506000910152565b60008151808452610cd8816020860160208601610c9c565b601f01601f19169290920160200192915050565b6020815260006106426020830184610cc0565b600060208284031215610d1157600080fd5b5035919050565b80356001600160a01b0381168114610d2f57600080fd5b919050565b60008060408385031215610d4757600080fd5b610d5083610d18565b946020939093013593505050565b600080600060608486031215610d7357600080fd5b610d7c84610d18565b9250610d8a60208501610d18565b9150604084013590509250925092565b600060208284031215610dac57600080fd5b61064282610d18565b60008060408385031215610dc857600080fd5b610dd183610d18565b915060208301358015158114610de657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610e1d57600080fd5b610e2685610d18565b9350610e3460208601610d18565b925060408501359150606085013567ffffffffffffffff80821115610e5857600080fd5b818701915087601f830112610e6c57600080fd5b813581811115610e7e57610e7e610df1565b604051601f8201601f19908116603f01168101908382118183101715610ea657610ea6610df1565b816040528281528a6020848701011115610ebf57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610ef657600080fd5b610eff83610d18565b9150610f0d60208401610d18565b90509250929050565b600181811c90821680610f2a57607f821691505b602082108103610f4a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351610faf818460208801610c9c565b835190830190610fc3818360208801610c9c565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061109690830184610cc0565b9695505050505050565b6000602082840312156110b257600080fd5b815161064281610c6956fea2646970667358221220ba061f2114130397f59d4efb0f2335b8131f987a23ecf80d2546c613a23ac50f64736f6c63430008140033", - "sourceMap": "628:16377:0:-:0;;;1390:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:5;:13;1464:5;1456;:13;:::i;:::-;-1:-1:-1;1479:7:0;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;628:16377;;14:127:12;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:12;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:12;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:12:o;991:562::-;1090:6;1098;1151:2;1139:9;1130:7;1126:23;1122:32;1119:52;;;1167:1;1164;1157:12;1119:52;1194:16;;-1:-1:-1;;;;;1259:14:12;;;1256:34;;;1286:1;1283;1276:12;1256:34;1309:61;1362:7;1353:6;1342:9;1338:22;1309:61;:::i;:::-;1299:71;;1416:2;1405:9;1401:18;1395:25;1379:41;;1445:2;1435:8;1432:16;1429:36;;;1461:1;1458;1451:12;1429:36;;1484:63;1539:7;1528:8;1517:9;1513:24;1484:63;:::i;:::-;1474:73;;;991:562;;;;;:::o;1558:380::-;1637:1;1633:12;;;;1680;;;1701:61;;1755:4;1747:6;1743:17;1733:27;;1701:61;1808:2;1800:6;1797:14;1777:18;1774:38;1771:161;;1854:10;1849:3;1845:20;1842:1;1835:31;1889:4;1886:1;1879:15;1917:4;1914:1;1907:15;1771:161;;1558:380;;;:::o;2069:545::-;2171:2;2166:3;2163:11;2160:448;;;2207:1;2232:5;2228:2;2221:17;2277:4;2273:2;2263:19;2347:2;2335:10;2331:19;2328:1;2324:27;2318:4;2314:38;2383:4;2371:10;2368:20;2365:47;;;-1:-1:-1;2406:4:12;2365:47;2461:2;2456:3;2452:12;2449:1;2445:20;2439:4;2435:31;2425:41;;2516:82;2534:2;2527:5;2524:13;2516:82;;;2579:17;;;2560:1;2549:13;2516:82;;;2520:3;;;2160:448;2069:545;;;:::o;2790:1352::-;2910:10;;-1:-1:-1;;;;;2932:30:12;;2929:56;;;2965:18;;:::i;:::-;2994:97;3084:6;3044:38;3076:4;3070:11;3044:38;:::i;:::-;3038:4;2994:97;:::i;:::-;3146:4;;3210:2;3199:14;;3227:1;3222:663;;;;3929:1;3946:6;3943:89;;;-1:-1:-1;3998:19:12;;;3992:26;3943:89;-1:-1:-1;;2747:1:12;2743:11;;;2739:24;2735:29;2725:40;2771:1;2767:11;;;2722:57;4045:81;;3192:944;;3222:663;2016:1;2009:14;;;2053:4;2040:18;;-1:-1:-1;;3258:20:12;;;3376:236;3390:7;3387:1;3384:14;3376:236;;;3479:19;;;3473:26;3458:42;;3571:27;;;;3539:1;3527:14;;;;3406:19;;3376:236;;;3380:3;3640:6;3631:7;3628:19;3625:201;;;3701:19;;;3695:26;-1:-1:-1;;3784:1:12;3780:14;;;3796:3;3776:24;3772:37;3768:42;3753:58;3738:74;;3625:201;-1:-1:-1;;;;;3872:1:12;3856:14;;;3852:22;3839:36;;-1:-1:-1;2790:1352:12:o;:::-;628:16377:0;;;;;;", + "sourceMap": "628:16377:26:-:0;;;1390:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:5;:13;1464:5;1456;:13;:::i;:::-;-1:-1:-1;1479:7:26;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;628:16377;;14:127:55;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:55;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:55;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:55:o;991:562::-;1090:6;1098;1151:2;1139:9;1130:7;1126:23;1122:32;1119:52;;;1167:1;1164;1157:12;1119:52;1194:16;;-1:-1:-1;;;;;1259:14:55;;;1256:34;;;1286:1;1283;1276:12;1256:34;1309:61;1362:7;1353:6;1342:9;1338:22;1309:61;:::i;:::-;1299:71;;1416:2;1405:9;1401:18;1395:25;1379:41;;1445:2;1435:8;1432:16;1429:36;;;1461:1;1458;1451:12;1429:36;;1484:63;1539:7;1528:8;1517:9;1513:24;1484:63;:::i;:::-;1474:73;;;991:562;;;;;:::o;1558:380::-;1637:1;1633:12;;;;1680;;;1701:61;;1755:4;1747:6;1743:17;1733:27;;1701:61;1808:2;1800:6;1797:14;1777:18;1774:38;1771:161;;1854:10;1849:3;1845:20;1842:1;1835:31;1889:4;1886:1;1879:15;1917:4;1914:1;1907:15;1771:161;;1558:380;;;:::o;2069:545::-;2171:2;2166:3;2163:11;2160:448;;;2207:1;2232:5;2228:2;2221:17;2277:4;2273:2;2263:19;2347:2;2335:10;2331:19;2328:1;2324:27;2318:4;2314:38;2383:4;2371:10;2368:20;2365:47;;;-1:-1:-1;2406:4:55;2365:47;2461:2;2456:3;2452:12;2449:1;2445:20;2439:4;2435:31;2425:41;;2516:82;2534:2;2527:5;2524:13;2516:82;;;2579:17;;;2560:1;2549:13;2516:82;;;2520:3;;;2160:448;2069:545;;;:::o;2790:1352::-;2910:10;;-1:-1:-1;;;;;2932:30:55;;2929:56;;;2965:18;;:::i;:::-;2994:97;3084:6;3044:38;3076:4;3070:11;3044:38;:::i;:::-;3038:4;2994:97;:::i;:::-;3146:4;;3210:2;3199:14;;3227:1;3222:663;;;;3929:1;3946:6;3943:89;;;-1:-1:-1;3998:19:55;;;3992:26;3943:89;-1:-1:-1;;2747:1:55;2743:11;;;2739:24;2735:29;2725:40;2771:1;2767:11;;;2722:57;4045:81;;3192:944;;3222:663;2016:1;2009:14;;;2053:4;2040:18;;-1:-1:-1;;3258:20:55;;;3376:236;3390:7;3387:1;3384:14;3376:236;;;3479:19;;;3473:26;3458:42;;3571:27;;;;3539:1;3527:14;;;;3406:19;;3376:236;;;3380:3;3640:6;3631:7;3628:19;3625:201;;;3701:19;;;3695:26;-1:-1:-1;;3784:1:55;3780:14;;;3796:3;3776:24;3772:37;3768:42;3753:58;3738:74;;3625:201;-1:-1:-1;;;;;3872:1:55;3856:14;;;3852:22;3839:36;;-1:-1:-1;2790:1352:55:o;:::-;628:16377:26;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610c7f565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610cec565b61012461011f366004610cff565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610d34565b610333565b005b61014f61015f366004610d5e565b61044d565b61014f610172366004610d5e565b61047e565b610124610185366004610cff565b610499565b61019d610198366004610d9a565b6104f9565b6040519081526020016100f3565b61010461057f565b61014f6101c1366004610db5565b61058e565b61014f6101d4366004610e07565b61059d565b6101046101e7366004610cff565b6105d5565b6100e76101fa366004610ee3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028990610f16565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610f16565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b600061031782610649565b506000908152600460205260409020546001600160a01b031690565b600061033e82610499565b9050806001600160a01b0316836001600160a01b0316036103b05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103cc57506103cc81336101fa565b61043e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103a7565b61044883836106ab565b505050565b6104573382610719565b6104735760405162461bcd60e51b81526004016103a790610f50565b610448838383610798565b6104488383836040518060200160405280600081525061059d565b6000818152600260205260408120546001600160a01b0316806102745760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b60006001600160a01b0382166105635760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103a7565b506001600160a01b031660009081526003602052604090205490565b60606001805461028990610f16565b6105993383836108fc565b5050565b6105a73383610719565b6105c35760405162461bcd60e51b81526004016103a790610f50565b6105cf848484846109ca565b50505050565b60606105e082610649565b60006105f760408051602081019091526000815290565b905060008151116106175760405180602001604052806000815250610642565b80610621846109fd565b604051602001610632929190610f9d565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166106a85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e082610499565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061072583610499565b9050806001600160a01b0316846001600160a01b0316148061076c57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107905750836001600160a01b03166107858461030c565b6001600160a01b0316145b949350505050565b826001600160a01b03166107ab82610499565b6001600160a01b0316146107d15760405162461bcd60e51b81526004016103a790610fcc565b6001600160a01b0382166108335760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a7565b826001600160a01b031661084682610499565b6001600160a01b03161461086c5760405162461bcd60e51b81526004016103a790610fcc565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361095d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103a7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109d5848484610798565b6109e184848484610a90565b6105cf5760405162461bcd60e51b81526004016103a790611011565b60606000610a0a83610b91565b600101905060008167ffffffffffffffff811115610a2a57610a2a610df1565b6040519080825280601f01601f191660200182016040528015610a54576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a5e57509392505050565b60006001600160a01b0384163b15610b8657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610ad4903390899088908890600401611063565b6020604051808303816000875af1925050508015610b0f575060408051601f3d908101601f19168201909252610b0c918101906110a0565b60015b610b6c573d808015610b3d576040519150601f19603f3d011682016040523d82523d6000602084013e610b42565b606091505b508051600003610b645760405162461bcd60e51b81526004016103a790611011565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610790565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610bd05772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610bfc576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c1a57662386f26fc10000830492506010015b6305f5e1008310610c32576305f5e100830492506008015b6127108310610c4657612710830492506004015b60648310610c58576064830492506002015b600a83106102745760010192915050565b6001600160e01b0319811681146106a857600080fd5b600060208284031215610c9157600080fd5b813561064281610c69565b60005b83811015610cb7578181015183820152602001610c9f565b50506000910152565b60008151808452610cd8816020860160208601610c9c565b601f01601f19169290920160200192915050565b6020815260006106426020830184610cc0565b600060208284031215610d1157600080fd5b5035919050565b80356001600160a01b0381168114610d2f57600080fd5b919050565b60008060408385031215610d4757600080fd5b610d5083610d18565b946020939093013593505050565b600080600060608486031215610d7357600080fd5b610d7c84610d18565b9250610d8a60208501610d18565b9150604084013590509250925092565b600060208284031215610dac57600080fd5b61064282610d18565b60008060408385031215610dc857600080fd5b610dd183610d18565b915060208301358015158114610de657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610e1d57600080fd5b610e2685610d18565b9350610e3460208601610d18565b925060408501359150606085013567ffffffffffffffff80821115610e5857600080fd5b818701915087601f830112610e6c57600080fd5b813581811115610e7e57610e7e610df1565b604051601f8201601f19908116603f01168101908382118183101715610ea657610ea6610df1565b816040528281528a6020848701011115610ebf57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610ef657600080fd5b610eff83610d18565b9150610f0d60208401610d18565b90509250929050565b600181811c90821680610f2a57607f821691505b602082108103610f4a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351610faf818460208801610c9c565b835190830190610fc3818360208801610c9c565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061109690830184610cc0565b9695505050505050565b6000602082840312156110b257600080fd5b815161064281610c6956fea2646970667358221220ba061f2114130397f59d4efb0f2335b8131f987a23ecf80d2546c613a23ac50f64736f6c63430008140033", - "sourceMap": "628:16377:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300;;;;;;:::i;:::-;;:::i;:::-;;;565:14:12;;558:22;540:41;;528:2;513:18;1570:300:0;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1697:32:12;;;1679:51;;1667:2;1652:18;3935:167:0;1533:203:12;3468:406:0;;;;;;:::i;:::-;;:::i;:::-;;4612:296;;;;;;:::i;:::-;;:::i;4974:149::-;;;;;;:::i;:::-;;:::i;2190:219::-;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;:::-;;;2848:25:12;;;2836:2;2821:18;1929:204:0;2702:177:12;2633:102:0;;;:::i;4169:153::-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;2801:::-;;;;;;:::i;:::-;;:::i;4388:162::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:0;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;-1:-1:-1;;;;;;1707:40:0;;-1:-1:-1;;;1707:40:0;;:104;;-1:-1:-1;;;;;;;1763:48:0;;-1:-1:-1;;;1763:48:0;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:7;;;1827:36:0;1688:175;1570:300;-1:-1:-1;;1570:300:0:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:0;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:0;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:0;:2;-1:-1:-1;;;;;3605:11:0;;3597:57;;;;-1:-1:-1;;;3597:57:0;;5363:2:12;3597:57:0;;;5345:21:12;5402:2;5382:18;;;5375:30;5441:34;5421:18;;;5414:62;-1:-1:-1;;;5492:18:12;;;5485:31;5533:19;;3597:57:0;;;;;;;;;719:10:5;-1:-1:-1;;;;;3686:21:0;;;;:62;;-1:-1:-1;3711:37:0;3728:5;719:10:5;4388:162:0;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:0;;5765:2:12;3665:170:0;;;5747:21:12;5804:2;5784:18;;;5777:30;5843:34;5823:18;;;5816:62;5914:31;5894:18;;;5887:59;5963:19;;3665:170:0;5563:425:12;3665:170:0;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;719:10:5;4804:7:0;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:0;;;;;;;:::i;:::-;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;2190:219::-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:0;;2324:56;;;;-1:-1:-1;;;2324:56:0;;6609:2:12;2324:56:0;;;6591:21:12;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:12;;;6660:54;6731:18;;2324:56:0;6407:348:12;1929:204:0;2001:7;-1:-1:-1;;;;;2028:19:0;;2020:73;;;;-1:-1:-1;;;2020:73:0;;6962:2:12;2020:73:0;;;6944:21:12;7001:2;6981:18;;;6974:30;7040:34;7020:18;;;7013:62;-1:-1:-1;;;7091:18:12;;;7084:39;7140:19;;2020:73:0;6760:405:12;2020:73:0;-1:-1:-1;;;;;;2110:16:0;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:5;4296:8:0;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:5;5352:7:0;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:0;;;;;;;:::i;:::-;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;2801:::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;3395:9;;;;;;;;;-1:-1:-1;3395:9:0;;;3319:92;2957:10;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;2801:276;-1:-1:-1;;;2801:276:0:o;13240:133::-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:0;13313:53;;;;-1:-1:-1;;;13313:53:0;;6609:2:12;13313:53:0;;;6591:21:12;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:12;;;6660:54;6731:18;;13313:53:0;6407:348:12;13313:53:0;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:0;-1:-1:-1;;;;;12646:29:0;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:0;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:0;:7;-1:-1:-1;;;;;7570:16:0;;:52;;;-1:-1:-1;;;;;;4508:25:0;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:0;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:0;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:0:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:0;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:0;;11346:81;;;;-1:-1:-1;;;11346:81:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11445:16:0;;11437:65;;;;-1:-1:-1;;;11437:65:0;;8279:2:12;11437:65:0;;;8261:21:12;8318:2;8298:18;;;8291:30;8357:34;8337:18;;;8330:62;-1:-1:-1;;;8408:18:12;;;8401:34;8452:19;;11437:65:0;8077:400:12;11437:65:0;11682:4;-1:-1:-1;;;;;11655:31:0;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:0;;11647:81;;;;-1:-1:-1;;;11647:81:0;;;;;;;:::i;:::-;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:0;;;;;;-1:-1:-1;;;;;12265:15:0;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:0;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:0;:5;-1:-1:-1;;;;;12990:17:0;;12982:55;;;;-1:-1:-1;;;12982:55:0;;8684:2:12;12982:55:0;;;8666:21:12;8723:2;8703:18;;;8696:30;8762:27;8742:18;;;8735:55;8807:18;;12982:55:0;8482:349:12;12982:55:0;-1:-1:-1;;;;;13047:25:0;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:0;;;;;;;;;;13108:41;;540::12;;;13108::0;;513:18:12;13108:41:0;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:0;;;;;;;:::i;447:696:6:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:6;-1:-1:-1;604:41:6;-1:-1:-1;765:28:6;;;781:2;765:28;820:280;-1:-1:-1;;851:5:6;-1:-1:-1;;;985:2:6;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:6;820:280;1064:21;-1:-1:-1;1120:6:6;447:696;-1:-1:-1;;;447:696:6:o;13925:831:0:-;14074:4;-1:-1:-1;;;;;14094:13:0;;1702:19:4;:23;14090:660:0;;14129:71;;-1:-1:-1;;;14129:71:0;;-1:-1:-1;;;;;14129:36:0;;;;;:71;;719:10:5;;14180:4:0;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:0;;;;;;;;-1:-1:-1;;14129:71:0;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:0;;;;;;;:::i;14363:321::-;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:0;-1:-1:-1;;;14250:51:0;;-1:-1:-1;14243:58:0;;14090:660;-1:-1:-1;14735:4:0;13925:831;;;;;;:::o;10139:916:9:-;10192:7;;-1:-1:-1;;;10267:17:9;;10263:103;;-1:-1:-1;;;10304:17:9;;;-1:-1:-1;10349:2:9;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:9;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:9;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:9;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:9;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:9;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:9:o;14:131:12:-;-1:-1:-1;;;;;;88:32:12;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:250::-;677:1;687:113;701:6;698:1;695:13;687:113;;;777:11;;;771:18;758:11;;;751:39;723:2;716:10;687:113;;;-1:-1:-1;;834:1:12;816:16;;809:27;592:250::o;847:271::-;889:3;927:5;921:12;954:6;949:3;942:19;970:76;1039:6;1032:4;1027:3;1023:14;1016:4;1009:5;1005:16;970:76;:::i;:::-;1100:2;1079:15;-1:-1:-1;;1075:29:12;1066:39;;;;1107:4;1062:50;;847:271;-1:-1:-1;;847:271:12:o;1123:220::-;1272:2;1261:9;1254:21;1235:4;1292:45;1333:2;1322:9;1318:18;1310:6;1292:45;:::i;1348:180::-;1407:6;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;-1:-1:-1;1499:23:12;;1348:180;-1:-1:-1;1348:180:12:o;1741:173::-;1809:20;;-1:-1:-1;;;;;1858:31:12;;1848:42;;1838:70;;1904:1;1901;1894:12;1838:70;1741:173;;;:::o;1919:254::-;1987:6;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2087:29;2106:9;2087:29;:::i;:::-;2077:39;2163:2;2148:18;;;;2135:32;;-1:-1:-1;;;1919:254:12:o;2178:328::-;2255:6;2263;2271;2324:2;2312:9;2303:7;2299:23;2295:32;2292:52;;;2340:1;2337;2330:12;2292:52;2363:29;2382:9;2363:29;:::i;:::-;2353:39;;2411:38;2445:2;2434:9;2430:18;2411:38;:::i;:::-;2401:48;;2496:2;2485:9;2481:18;2468:32;2458:42;;2178:328;;;;;:::o;2511:186::-;2570:6;2623:2;2611:9;2602:7;2598:23;2594:32;2591:52;;;2639:1;2636;2629:12;2591:52;2662:29;2681:9;2662:29;:::i;2884:347::-;2949:6;2957;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3049:29;3068:9;3049:29;:::i;:::-;3039:39;;3128:2;3117:9;3113:18;3100:32;3175:5;3168:13;3161:21;3154:5;3151:32;3141:60;;3197:1;3194;3187:12;3141:60;3220:5;3210:15;;;2884:347;;;;;:::o;3236:127::-;3297:10;3292:3;3288:20;3285:1;3278:31;3328:4;3325:1;3318:15;3352:4;3349:1;3342:15;3368:1138;3463:6;3471;3479;3487;3540:3;3528:9;3519:7;3515:23;3511:33;3508:53;;;3557:1;3554;3547:12;3508:53;3580:29;3599:9;3580:29;:::i;:::-;3570:39;;3628:38;3662:2;3651:9;3647:18;3628:38;:::i;:::-;3618:48;;3713:2;3702:9;3698:18;3685:32;3675:42;;3768:2;3757:9;3753:18;3740:32;3791:18;3832:2;3824:6;3821:14;3818:34;;;3848:1;3845;3838:12;3818:34;3886:6;3875:9;3871:22;3861:32;;3931:7;3924:4;3920:2;3916:13;3912:27;3902:55;;3953:1;3950;3943:12;3902:55;3989:2;3976:16;4011:2;4007;4004:10;4001:36;;;4017:18;;:::i;:::-;4092:2;4086:9;4060:2;4146:13;;-1:-1:-1;;4142:22:12;;;4166:2;4138:31;4134:40;4122:53;;;4190:18;;;4210:22;;;4187:46;4184:72;;;4236:18;;:::i;:::-;4276:10;4272:2;4265:22;4311:2;4303:6;4296:18;4351:7;4346:2;4341;4337;4333:11;4329:20;4326:33;4323:53;;;4372:1;4369;4362:12;4323:53;4428:2;4423;4419;4415:11;4410:2;4402:6;4398:15;4385:46;4473:1;4468:2;4463;4455:6;4451:15;4447:24;4440:35;4494:6;4484:16;;;;;;;3368:1138;;;;;;;:::o;4511:260::-;4579:6;4587;4640:2;4628:9;4619:7;4615:23;4611:32;4608:52;;;4656:1;4653;4646:12;4608:52;4679:29;4698:9;4679:29;:::i;:::-;4669:39;;4727:38;4761:2;4750:9;4746:18;4727:38;:::i;:::-;4717:48;;4511:260;;;;;:::o;4776:380::-;4855:1;4851:12;;;;4898;;;4919:61;;4973:4;4965:6;4961:17;4951:27;;4919:61;5026:2;5018:6;5015:14;4995:18;4992:38;4989:161;;5072:10;5067:3;5063:20;5060:1;5053:31;5107:4;5104:1;5097:15;5135:4;5132:1;5125:15;4989:161;;4776:380;;;:::o;5993:409::-;6195:2;6177:21;;;6234:2;6214:18;;;6207:30;6273:34;6268:2;6253:18;;6246:62;-1:-1:-1;;;6339:2:12;6324:18;;6317:43;6392:3;6377:19;;5993:409::o;7170:496::-;7349:3;7387:6;7381:13;7403:66;7462:6;7457:3;7450:4;7442:6;7438:17;7403:66;:::i;:::-;7532:13;;7491:16;;;;7554:70;7532:13;7491:16;7601:4;7589:17;;7554:70;:::i;:::-;7640:20;;7170:496;-1:-1:-1;;;;7170:496:12:o;7671:401::-;7873:2;7855:21;;;7912:2;7892:18;;;7885:30;7951:34;7946:2;7931:18;;7924:62;-1:-1:-1;;;8017:2:12;8002:18;;7995:35;8062:3;8047:19;;7671:401::o;8836:414::-;9038:2;9020:21;;;9077:2;9057:18;;;9050:30;9116:34;9111:2;9096:18;;9089:62;-1:-1:-1;;;9182:2:12;9167:18;;9160:48;9240:3;9225:19;;8836:414::o;9387:489::-;-1:-1:-1;;;;;9656:15:12;;;9638:34;;9708:15;;9703:2;9688:18;;9681:43;9755:2;9740:18;;9733:34;;;9803:3;9798:2;9783:18;;9776:31;;;9581:4;;9824:46;;9850:19;;9842:6;9824:46;:::i;:::-;9816:54;9387:489;-1:-1:-1;;;;;;9387:489:12:o;9881:249::-;9950:6;10003:2;9991:9;9982:7;9978:23;9974:32;9971:52;;;10019:1;10016;10009:12;9971:52;10051:9;10045:16;10070:30;10094:5;10070:30;:::i", + "sourceMap": "628:16377:26:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300;;;;;;:::i;:::-;;:::i;:::-;;;565:14:55;;558:22;540:41;;528:2;513:18;1570:300:26;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1697:32:55;;;1679:51;;1667:2;1652:18;3935:167:26;1533:203:55;3468:406:26;;;;;;:::i;:::-;;:::i;:::-;;4612:296;;;;;;:::i;:::-;;:::i;4974:149::-;;;;;;:::i;:::-;;:::i;2190:219::-;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;:::-;;;2848:25:55;;;2836:2;2821:18;1929:204:26;2702:177:55;2633:102:26;;;:::i;4169:153::-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;2801:::-;;;;;;:::i;:::-;;:::i;4388:162::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:26;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;-1:-1:-1;;;;;;1707:40:26;;-1:-1:-1;;;1707:40:26;;:104;;-1:-1:-1;;;;;;;1763:48:26;;-1:-1:-1;;;1763:48:26;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:33;;;1827:36:26;1688:175;1570:300;-1:-1:-1;;1570:300:26:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:26;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:26;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:26;:2;-1:-1:-1;;;;;3605:11:26;;3597:57;;;;-1:-1:-1;;;3597:57:26;;5363:2:55;3597:57:26;;;5345:21:55;5402:2;5382:18;;;5375:30;5441:34;5421:18;;;5414:62;-1:-1:-1;;;5492:18:55;;;5485:31;5533:19;;3597:57:26;;;;;;;;;719:10:31;-1:-1:-1;;;;;3686:21:26;;;;:62;;-1:-1:-1;3711:37:26;3728:5;719:10:31;4388:162:26;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:26;;5765:2:55;3665:170:26;;;5747:21:55;5804:2;5784:18;;;5777:30;5843:34;5823:18;;;5816:62;5914:31;5894:18;;;5887:59;5963:19;;3665:170:26;5563:425:55;3665:170:26;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;719:10:31;4804:7:26;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:26;;;;;;;:::i;:::-;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;2190:219::-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:26;;2324:56;;;;-1:-1:-1;;;2324:56:26;;6609:2:55;2324:56:26;;;6591:21:55;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:55;;;6660:54;6731:18;;2324:56:26;6407:348:55;1929:204:26;2001:7;-1:-1:-1;;;;;2028:19:26;;2020:73;;;;-1:-1:-1;;;2020:73:26;;6962:2:55;2020:73:26;;;6944:21:55;7001:2;6981:18;;;6974:30;7040:34;7020:18;;;7013:62;-1:-1:-1;;;7091:18:55;;;7084:39;7140:19;;2020:73:26;6760:405:55;2020:73:26;-1:-1:-1;;;;;;2110:16:26;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:31;4296:8:26;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:31;5352:7:26;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:26;;;;;;;:::i;:::-;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;2801:::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;3395:9;;;;;;;;;-1:-1:-1;3395:9:26;;;3319:92;2957:10;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;2801:276;-1:-1:-1;;;2801:276:26:o;13240:133::-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:26;13313:53;;;;-1:-1:-1;;;13313:53:26;;6609:2:55;13313:53:26;;;6591:21:55;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:55;;;6660:54;6731:18;;13313:53:26;6407:348:55;13313:53:26;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:26;-1:-1:-1;;;;;12646:29:26;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:26;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:26;:7;-1:-1:-1;;;;;7570:16:26;;:52;;;-1:-1:-1;;;;;;4508:25:26;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:26;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:26;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:26:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:26;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:26;;11346:81;;;;-1:-1:-1;;;11346:81:26;;;;;;;:::i;:::-;-1:-1:-1;;;;;11445:16:26;;11437:65;;;;-1:-1:-1;;;11437:65:26;;8279:2:55;11437:65:26;;;8261:21:55;8318:2;8298:18;;;8291:30;8357:34;8337:18;;;8330:62;-1:-1:-1;;;8408:18:55;;;8401:34;8452:19;;11437:65:26;8077:400:55;11437:65:26;11682:4;-1:-1:-1;;;;;11655:31:26;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:26;;11647:81;;;;-1:-1:-1;;;11647:81:26;;;;;;;:::i;:::-;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:26;;;;;;-1:-1:-1;;;;;12265:15:26;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:26;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:26;:5;-1:-1:-1;;;;;12990:17:26;;12982:55;;;;-1:-1:-1;;;12982:55:26;;8684:2:55;12982:55:26;;;8666:21:55;8723:2;8703:18;;;8696:30;8762:27;8742:18;;;8735:55;8807:18;;12982:55:26;8482:349:55;12982:55:26;-1:-1:-1;;;;;13047:25:26;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:26;;;;;;;;;;13108:41;;540::55;;;13108::26;;513:18:55;13108:41:26;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:26;;;;;;;:::i;447:696:32:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:32;-1:-1:-1;604:41:32;-1:-1:-1;765:28:32;;;781:2;765:28;820:280;-1:-1:-1;;851:5:32;-1:-1:-1;;;985:2:32;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:32;820:280;1064:21;-1:-1:-1;1120:6:32;447:696;-1:-1:-1;;;447:696:32:o;13925:831:26:-;14074:4;-1:-1:-1;;;;;14094:13:26;;1702:19:30;:23;14090:660:26;;14129:71;;-1:-1:-1;;;14129:71:26;;-1:-1:-1;;;;;14129:36:26;;;;;:71;;719:10:31;;14180:4:26;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:26;;;;;;;;-1:-1:-1;;14129:71:26;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:26;;;;;;;:::i;14363:321::-;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:26;-1:-1:-1;;;14250:51:26;;-1:-1:-1;14243:58:26;;14090:660;-1:-1:-1;14735:4:26;13925:831;;;;;;:::o;10139:916:35:-;10192:7;;-1:-1:-1;;;10267:17:35;;10263:103;;-1:-1:-1;;;10304:17:35;;;-1:-1:-1;10349:2:35;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:35;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:35;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:35;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:35;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:35;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:35:o;14:131:55:-;-1:-1:-1;;;;;;88:32:55;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:250::-;677:1;687:113;701:6;698:1;695:13;687:113;;;777:11;;;771:18;758:11;;;751:39;723:2;716:10;687:113;;;-1:-1:-1;;834:1:55;816:16;;809:27;592:250::o;847:271::-;889:3;927:5;921:12;954:6;949:3;942:19;970:76;1039:6;1032:4;1027:3;1023:14;1016:4;1009:5;1005:16;970:76;:::i;:::-;1100:2;1079:15;-1:-1:-1;;1075:29:55;1066:39;;;;1107:4;1062:50;;847:271;-1:-1:-1;;847:271:55:o;1123:220::-;1272:2;1261:9;1254:21;1235:4;1292:45;1333:2;1322:9;1318:18;1310:6;1292:45;:::i;1348:180::-;1407:6;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;-1:-1:-1;1499:23:55;;1348:180;-1:-1:-1;1348:180:55:o;1741:173::-;1809:20;;-1:-1:-1;;;;;1858:31:55;;1848:42;;1838:70;;1904:1;1901;1894:12;1838:70;1741:173;;;:::o;1919:254::-;1987:6;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2087:29;2106:9;2087:29;:::i;:::-;2077:39;2163:2;2148:18;;;;2135:32;;-1:-1:-1;;;1919:254:55:o;2178:328::-;2255:6;2263;2271;2324:2;2312:9;2303:7;2299:23;2295:32;2292:52;;;2340:1;2337;2330:12;2292:52;2363:29;2382:9;2363:29;:::i;:::-;2353:39;;2411:38;2445:2;2434:9;2430:18;2411:38;:::i;:::-;2401:48;;2496:2;2485:9;2481:18;2468:32;2458:42;;2178:328;;;;;:::o;2511:186::-;2570:6;2623:2;2611:9;2602:7;2598:23;2594:32;2591:52;;;2639:1;2636;2629:12;2591:52;2662:29;2681:9;2662:29;:::i;2884:347::-;2949:6;2957;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3049:29;3068:9;3049:29;:::i;:::-;3039:39;;3128:2;3117:9;3113:18;3100:32;3175:5;3168:13;3161:21;3154:5;3151:32;3141:60;;3197:1;3194;3187:12;3141:60;3220:5;3210:15;;;2884:347;;;;;:::o;3236:127::-;3297:10;3292:3;3288:20;3285:1;3278:31;3328:4;3325:1;3318:15;3352:4;3349:1;3342:15;3368:1138;3463:6;3471;3479;3487;3540:3;3528:9;3519:7;3515:23;3511:33;3508:53;;;3557:1;3554;3547:12;3508:53;3580:29;3599:9;3580:29;:::i;:::-;3570:39;;3628:38;3662:2;3651:9;3647:18;3628:38;:::i;:::-;3618:48;;3713:2;3702:9;3698:18;3685:32;3675:42;;3768:2;3757:9;3753:18;3740:32;3791:18;3832:2;3824:6;3821:14;3818:34;;;3848:1;3845;3838:12;3818:34;3886:6;3875:9;3871:22;3861:32;;3931:7;3924:4;3920:2;3916:13;3912:27;3902:55;;3953:1;3950;3943:12;3902:55;3989:2;3976:16;4011:2;4007;4004:10;4001:36;;;4017:18;;:::i;:::-;4092:2;4086:9;4060:2;4146:13;;-1:-1:-1;;4142:22:55;;;4166:2;4138:31;4134:40;4122:53;;;4190:18;;;4210:22;;;4187:46;4184:72;;;4236:18;;:::i;:::-;4276:10;4272:2;4265:22;4311:2;4303:6;4296:18;4351:7;4346:2;4341;4337;4333:11;4329:20;4326:33;4323:53;;;4372:1;4369;4362:12;4323:53;4428:2;4423;4419;4415:11;4410:2;4402:6;4398:15;4385:46;4473:1;4468:2;4463;4455:6;4451:15;4447:24;4440:35;4494:6;4484:16;;;;;;;3368:1138;;;;;;;:::o;4511:260::-;4579:6;4587;4640:2;4628:9;4619:7;4615:23;4611:32;4608:52;;;4656:1;4653;4646:12;4608:52;4679:29;4698:9;4679:29;:::i;:::-;4669:39;;4727:38;4761:2;4750:9;4746:18;4727:38;:::i;:::-;4717:48;;4511:260;;;;;:::o;4776:380::-;4855:1;4851:12;;;;4898;;;4919:61;;4973:4;4965:6;4961:17;4951:27;;4919:61;5026:2;5018:6;5015:14;4995:18;4992:38;4989:161;;5072:10;5067:3;5063:20;5060:1;5053:31;5107:4;5104:1;5097:15;5135:4;5132:1;5125:15;4989:161;;4776:380;;;:::o;5993:409::-;6195:2;6177:21;;;6234:2;6214:18;;;6207:30;6273:34;6268:2;6253:18;;6246:62;-1:-1:-1;;;6339:2:55;6324:18;;6317:43;6392:3;6377:19;;5993:409::o;7170:496::-;7349:3;7387:6;7381:13;7403:66;7462:6;7457:3;7450:4;7442:6;7438:17;7403:66;:::i;:::-;7532:13;;7491:16;;;;7554:70;7532:13;7491:16;7601:4;7589:17;;7554:70;:::i;:::-;7640:20;;7170:496;-1:-1:-1;;;;7170:496:55:o;7671:401::-;7873:2;7855:21;;;7912:2;7892:18;;;7885:30;7951:34;7946:2;7931:18;;7924:62;-1:-1:-1;;;8017:2:55;8002:18;;7995:35;8062:3;8047:19;;7671:401::o;8836:414::-;9038:2;9020:21;;;9077:2;9057:18;;;9050:30;9116:34;9111:2;9096:18;;9089:62;-1:-1:-1;;;9182:2:55;9167:18;;9160:48;9240:3;9225:19;;8836:414::o;9387:489::-;-1:-1:-1;;;;;9656:15:55;;;9638:34;;9708:15;;9703:2;9688:18;;9681:43;9755:2;9740:18;;9733:34;;;9803:3;9798:2;9783:18;;9776:31;;;9581:4;;9824:46;;9850:19;;9842:6;9824:46;:::i;:::-;9816:54;9387:489;-1:-1:-1;;;;;;9387:489:55:o;9881:249::-;9950:6;10003:2;9991:9;9982:7;9978:23;9974:32;9971:52;;;10019:1;10016;10009:12;9971:52;10051:9;10045:16;10070:30;10094:5;10070:30;:::i", "linkReferences": {} }, "methodIdentifiers": { @@ -892,49 +892,49 @@ }, "ast": { "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol", - "id": 927, + "id": 44876, "exportedSymbols": { "Address": [ - 1417 + 45366 ], "Context": [ - 1439 + 45388 ], "ERC165": [ - 1692 + 45641 ], "ERC721": [ - 926 + 44875 ], "IERC165": [ - 1704 + 45653 ], "IERC721": [ - 1042 + 44991 ], "IERC721Metadata": [ - 1087 + 45036 ], "IERC721Receiver": [ - 1060 + 45009 ], "Math": [ - 2570 + 46519 ], "SignedMath": [ - 2675 + 46624 ], "Strings": [ - 1668 + 45617 ] }, "nodeType": "SourceUnit", - "src": "107:16899:0", + "src": "107:16899:26", "nodes": [ { - "id": 1, + "id": 43950, "nodeType": "PragmaDirective", - "src": "107:23:0", + "src": "107:23:26", "nodes": [], "literals": [ "solidity", @@ -944,122 +944,122 @@ ] }, { - "id": 2, + "id": 43951, "nodeType": "ImportDirective", - "src": "132:23:0", + "src": "132:23:26", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol", "file": "./IERC721.sol", "nameLocation": "-1:-1:-1", - "scope": 927, - "sourceUnit": 1043, + "scope": 44876, + "sourceUnit": 44992, "symbolAliases": [], "unitAlias": "" }, { - "id": 3, + "id": 43952, "nodeType": "ImportDirective", - "src": "156:31:0", + "src": "156:31:26", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol", "file": "./IERC721Receiver.sol", "nameLocation": "-1:-1:-1", - "scope": 927, - "sourceUnit": 1061, + "scope": 44876, + "sourceUnit": 45010, "symbolAliases": [], "unitAlias": "" }, { - "id": 4, + "id": 43953, "nodeType": "ImportDirective", - "src": "188:42:0", + "src": "188:42:26", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol", "file": "./extensions/IERC721Metadata.sol", "nameLocation": "-1:-1:-1", - "scope": 927, - "sourceUnit": 1088, + "scope": 44876, + "sourceUnit": 45037, "symbolAliases": [], "unitAlias": "" }, { - "id": 5, + "id": 43954, "nodeType": "ImportDirective", - "src": "231:33:0", + "src": "231:33:26", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "file": "../../utils/Address.sol", "nameLocation": "-1:-1:-1", - "scope": 927, - "sourceUnit": 1418, + "scope": 44876, + "sourceUnit": 45367, "symbolAliases": [], "unitAlias": "" }, { - "id": 6, + "id": 43955, "nodeType": "ImportDirective", - "src": "265:33:0", + "src": "265:33:26", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Context.sol", "file": "../../utils/Context.sol", "nameLocation": "-1:-1:-1", - "scope": 927, - "sourceUnit": 1440, + "scope": 44876, + "sourceUnit": 45389, "symbolAliases": [], "unitAlias": "" }, { - "id": 7, + "id": 43956, "nodeType": "ImportDirective", - "src": "299:33:0", + "src": "299:33:26", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Strings.sol", "file": "../../utils/Strings.sol", "nameLocation": "-1:-1:-1", - "scope": 927, - "sourceUnit": 1669, + "scope": 44876, + "sourceUnit": 45618, "symbolAliases": [], "unitAlias": "" }, { - "id": 8, + "id": 43957, "nodeType": "ImportDirective", - "src": "333:46:0", + "src": "333:46:26", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", "file": "../../utils/introspection/ERC165.sol", "nameLocation": "-1:-1:-1", - "scope": 927, - "sourceUnit": 1693, + "scope": 44876, + "sourceUnit": 45642, "symbolAliases": [], "unitAlias": "" }, { - "id": 926, + "id": 44875, "nodeType": "ContractDefinition", - "src": "628:16377:0", + "src": "628:16377:26", "nodes": [ { - "id": 20, + "id": 43969, "nodeType": "UsingForDirective", - "src": "695:26:0", + "src": "695:26:26", "nodes": [], "global": false, "libraryName": { - "id": 18, + "id": 43967, "name": "Address", "nameLocations": [ - "701:7:0" + "701:7:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1417, - "src": "701:7:0" + "referencedDeclaration": 45366, + "src": "701:7:26" }, "typeName": { - "id": 19, + "id": 43968, "name": "address", "nodeType": "ElementaryTypeName", - "src": "713:7:0", + "src": "713:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1068,26 +1068,26 @@ } }, { - "id": 23, + "id": 43972, "nodeType": "UsingForDirective", - "src": "726:26:0", + "src": "726:26:26", "nodes": [], "global": false, "libraryName": { - "id": 21, + "id": 43970, "name": "Strings", "nameLocations": [ - "732:7:0" + "732:7:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1668, - "src": "732:7:0" + "referencedDeclaration": 45617, + "src": "732:7:26" }, "typeName": { - "id": 22, + "id": 43971, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "744:7:0", + "src": "744:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1095,15 +1095,15 @@ } }, { - "id": 25, + "id": 43974, "nodeType": "VariableDeclaration", - "src": "776:20:0", + "src": "776:20:26", "nodes": [], "constant": false, "mutability": "mutable", "name": "_name", - "nameLocation": "791:5:0", - "scope": 926, + "nameLocation": "791:5:26", + "scope": 44875, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1111,10 +1111,10 @@ "typeString": "string" }, "typeName": { - "id": 24, + "id": 43973, "name": "string", "nodeType": "ElementaryTypeName", - "src": "776:6:0", + "src": "776:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1123,15 +1123,15 @@ "visibility": "private" }, { - "id": 27, + "id": 43976, "nodeType": "VariableDeclaration", - "src": "823:22:0", + "src": "823:22:26", "nodes": [], "constant": false, "mutability": "mutable", "name": "_symbol", - "nameLocation": "838:7:0", - "scope": 926, + "nameLocation": "838:7:26", + "scope": 44875, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1139,10 +1139,10 @@ "typeString": "string" }, "typeName": { - "id": 26, + "id": 43975, "name": "string", "nodeType": "ElementaryTypeName", - "src": "823:6:0", + "src": "823:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1151,15 +1151,15 @@ "visibility": "private" }, { - "id": 31, + "id": 43980, "nodeType": "VariableDeclaration", - "src": "898:43:0", + "src": "898:43:26", "nodes": [], "constant": false, "mutability": "mutable", "name": "_owners", - "nameLocation": "934:7:0", - "scope": 926, + "nameLocation": "934:7:26", + "scope": 44875, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1167,21 +1167,21 @@ "typeString": "mapping(uint256 => address)" }, "typeName": { - "id": 30, + "id": 43979, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { - "id": 28, + "id": 43977, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "906:7:0", + "src": "906:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "898:27:0", + "src": "898:27:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" @@ -1189,10 +1189,10 @@ "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 29, + "id": 43978, "name": "address", "nodeType": "ElementaryTypeName", - "src": "917:7:0", + "src": "917:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1203,15 +1203,15 @@ "visibility": "private" }, { - "id": 35, + "id": 43984, "nodeType": "VariableDeclaration", - "src": "992:45:0", + "src": "992:45:26", "nodes": [], "constant": false, "mutability": "mutable", "name": "_balances", - "nameLocation": "1028:9:0", - "scope": 926, + "nameLocation": "1028:9:26", + "scope": 44875, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1219,21 +1219,21 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 34, + "id": 43983, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { - "id": 32, + "id": 43981, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1000:7:0", + "src": "1000:7:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "992:27:0", + "src": "992:27:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -1241,10 +1241,10 @@ "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 33, + "id": 43982, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1011:7:0", + "src": "1011:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1254,15 +1254,15 @@ "visibility": "private" }, { - "id": 39, + "id": 43988, "nodeType": "VariableDeclaration", - "src": "1093:51:0", + "src": "1093:51:26", "nodes": [], "constant": false, "mutability": "mutable", "name": "_tokenApprovals", - "nameLocation": "1129:15:0", - "scope": 926, + "nameLocation": "1129:15:26", + "scope": 44875, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1270,21 +1270,21 @@ "typeString": "mapping(uint256 => address)" }, "typeName": { - "id": 38, + "id": 43987, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { - "id": 36, + "id": 43985, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1101:7:0", + "src": "1101:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "1093:27:0", + "src": "1093:27:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" @@ -1292,10 +1292,10 @@ "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 37, + "id": 43986, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1112:7:0", + "src": "1112:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1306,15 +1306,15 @@ "visibility": "private" }, { - "id": 45, + "id": 43994, "nodeType": "VariableDeclaration", - "src": "1199:71:0", + "src": "1199:71:26", "nodes": [], "constant": false, "mutability": "mutable", "name": "_operatorApprovals", - "nameLocation": "1252:18:0", - "scope": 926, + "nameLocation": "1252:18:26", + "scope": 44875, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1322,21 +1322,21 @@ "typeString": "mapping(address => mapping(address => bool))" }, "typeName": { - "id": 44, + "id": 43993, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { - "id": 40, + "id": 43989, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1207:7:0", + "src": "1207:7:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1199:44:0", + "src": "1199:44:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", "typeString": "mapping(address => mapping(address => bool))" @@ -1344,21 +1344,21 @@ "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 43, + "id": 43992, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { - "id": 41, + "id": 43990, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1226:7:0", + "src": "1226:7:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1218:24:0", + "src": "1218:24:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -1366,10 +1366,10 @@ "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 42, + "id": 43991, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1237:4:0", + "src": "1237:4:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1380,30 +1380,30 @@ "visibility": "private" }, { - "id": 62, + "id": 44011, "nodeType": "FunctionDefinition", - "src": "1390:113:0", + "src": "1390:113:26", "nodes": [], "body": { - "id": 61, + "id": 44010, "nodeType": "Block", - "src": "1446:57:0", + "src": "1446:57:26", "nodes": [], "statements": [ { "expression": { - "id": 55, + "id": 44004, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 53, + "id": 44002, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "1456:5:0", + "referencedDeclaration": 43974, + "src": "1456:5:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -1412,41 +1412,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 54, + "id": 44003, "name": "name_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 48, - "src": "1464:5:0", + "referencedDeclaration": 43997, + "src": "1464:5:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "1456:13:0", + "src": "1456:13:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 56, + "id": 44005, "nodeType": "ExpressionStatement", - "src": "1456:13:0" + "src": "1456:13:26" }, { "expression": { - "id": 59, + "id": 44008, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 57, + "id": 44006, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "1479:7:0", + "referencedDeclaration": 43976, + "src": "1479:7:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -1455,33 +1455,33 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 58, + "id": 44007, "name": "symbol_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 50, - "src": "1489:7:0", + "referencedDeclaration": 43999, + "src": "1489:7:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "1479:17:0", + "src": "1479:17:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 60, + "id": 44009, "nodeType": "ExpressionStatement", - "src": "1479:17:0" + "src": "1479:17:26" } ] }, "documentation": { - "id": 46, + "id": 43995, "nodeType": "StructuredDocumentation", - "src": "1277:108:0", + "src": "1277:108:26", "text": " @dev Initializes the contract by setting a `name` and a `symbol` to the token collection." }, "implemented": true, @@ -1490,18 +1490,18 @@ "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 51, + "id": 44000, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 48, + "id": 43997, "mutability": "mutable", "name": "name_", - "nameLocation": "1416:5:0", + "nameLocation": "1416:5:26", "nodeType": "VariableDeclaration", - "scope": 62, - "src": "1402:19:0", + "scope": 44011, + "src": "1402:19:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1509,10 +1509,10 @@ "typeString": "string" }, "typeName": { - "id": 47, + "id": 43996, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1402:6:0", + "src": "1402:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1522,13 +1522,13 @@ }, { "constant": false, - "id": 50, + "id": 43999, "mutability": "mutable", "name": "symbol_", - "nameLocation": "1437:7:0", + "nameLocation": "1437:7:26", "nodeType": "VariableDeclaration", - "scope": 62, - "src": "1423:21:0", + "scope": 44011, + "src": "1423:21:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1536,10 +1536,10 @@ "typeString": "string" }, "typeName": { - "id": 49, + "id": 43998, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1423:6:0", + "src": "1423:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1548,28 +1548,28 @@ "visibility": "internal" } ], - "src": "1401:44:0" + "src": "1401:44:26" }, "returnParameters": { - "id": 52, + "id": 44001, "nodeType": "ParameterList", "parameters": [], - "src": "1446:0:0" + "src": "1446:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 93, + "id": 44042, "nodeType": "FunctionDefinition", - "src": "1570:300:0", + "src": "1570:300:26", "nodes": [], "body": { - "id": 92, + "id": 44041, "nodeType": "Block", - "src": "1678:192:0", + "src": "1678:192:26", "nodes": [], "statements": [ { @@ -1578,7 +1578,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 90, + "id": 44039, "isConstant": false, "isLValue": false, "isPure": false, @@ -1588,7 +1588,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 85, + "id": 44034, "isConstant": false, "isLValue": false, "isPure": false, @@ -1598,18 +1598,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 78, + "id": 44027, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 73, + "id": 44022, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "1707:11:0", + "referencedDeclaration": 44014, + "src": "1707:11:26", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -1621,14 +1621,14 @@ "expression": { "arguments": [ { - "id": 75, + "id": 44024, "name": "IERC721", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1042, - "src": "1727:7:0", + "referencedDeclaration": 44991, + "src": "1727:7:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721_$1042_$", + "typeIdentifier": "t_type$_t_contract$_IERC721_$44991_$", "typeString": "type(contract IERC721)" } } @@ -1636,22 +1636,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_type$_t_contract$_IERC721_$1042_$", + "typeIdentifier": "t_type$_t_contract$_IERC721_$44991_$", "typeString": "type(contract IERC721)" } ], - "id": 74, + "id": 44023, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "1722:4:0", + "src": "1722:4:26", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 76, + "id": 44025, "isConstant": false, "isLValue": false, "isPure": true, @@ -1660,28 +1660,28 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1722:13:0", + "src": "1722:13:26", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721_$1042", + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721_$44991", "typeString": "type(contract IERC721)" } }, - "id": 77, + "id": 44026, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "1736:11:0", + "memberLocation": "1736:11:26", "memberName": "interfaceId", "nodeType": "MemberAccess", - "src": "1722:25:0", + "src": "1722:25:26", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "1707:40:0", + "src": "1707:40:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1694,18 +1694,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 84, + "id": 44033, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 79, + "id": 44028, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "1763:11:0", + "referencedDeclaration": 44014, + "src": "1763:11:26", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -1717,14 +1717,14 @@ "expression": { "arguments": [ { - "id": 81, + "id": 44030, "name": "IERC721Metadata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1087, - "src": "1783:15:0", + "referencedDeclaration": 45036, + "src": "1783:15:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1087_$", + "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$45036_$", "typeString": "type(contract IERC721Metadata)" } } @@ -1732,22 +1732,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1087_$", + "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$45036_$", "typeString": "type(contract IERC721Metadata)" } ], - "id": 80, + "id": 44029, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "1778:4:0", + "src": "1778:4:26", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 82, + "id": 44031, "isConstant": false, "isLValue": false, "isPure": true, @@ -1756,34 +1756,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1778:21:0", + "src": "1778:21:26", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Metadata_$1087", + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Metadata_$45036", "typeString": "type(contract IERC721Metadata)" } }, - "id": 83, + "id": 44032, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "1800:11:0", + "memberLocation": "1800:11:26", "memberName": "interfaceId", "nodeType": "MemberAccess", - "src": "1778:33:0", + "src": "1778:33:26", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "1763:48:0", + "src": "1763:48:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1707:104:0", + "src": "1707:104:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1794,12 +1794,12 @@ "rightExpression": { "arguments": [ { - "id": 88, + "id": 44037, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "1851:11:0", + "referencedDeclaration": 44014, + "src": "1851:11:26", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -1814,33 +1814,33 @@ } ], "expression": { - "id": 86, + "id": 44035, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -25, - "src": "1827:5:0", + "src": "1827:5:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ERC721_$926_$", + "typeIdentifier": "t_type$_t_super$_ERC721_$44875_$", "typeString": "type(contract super ERC721)" } }, - "id": 87, + "id": 44036, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1833:17:0", + "memberLocation": "1833:17:26", "memberName": "supportsInterface", "nodeType": "MemberAccess", - "referencedDeclaration": 1691, - "src": "1827:23:0", + "referencedDeclaration": 45640, + "src": "1827:23:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) view returns (bool)" } }, - "id": 89, + "id": 44038, "isConstant": false, "isLValue": false, "isPure": false, @@ -1849,34 +1849,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1827:36:0", + "src": "1827:36:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1707:156:0", + "src": "1707:156:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 72, - "id": 91, + "functionReturnParameters": 44021, + "id": 44040, "nodeType": "Return", - "src": "1688:175:0" + "src": "1688:175:26" } ] }, "baseFunctions": [ - 1691, - 1703 + 45640, + 45652 ], "documentation": { - "id": 63, + "id": 44012, "nodeType": "StructuredDocumentation", - "src": "1509:56:0", + "src": "1509:56:26", "text": " @dev See {IERC165-supportsInterface}." }, "functionSelector": "01ffc9a7", @@ -1884,47 +1884,47 @@ "kind": "function", "modifiers": [], "name": "supportsInterface", - "nameLocation": "1579:17:0", + "nameLocation": "1579:17:26", "overrides": { - "id": 69, + "id": 44018, "nodeType": "OverrideSpecifier", "overrides": [ { - "id": 67, + "id": 44016, "name": "ERC165", "nameLocations": [ - "1646:6:0" + "1646:6:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1692, - "src": "1646:6:0" + "referencedDeclaration": 45641, + "src": "1646:6:26" }, { - "id": 68, + "id": 44017, "name": "IERC165", "nameLocations": [ - "1654:7:0" + "1654:7:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1704, - "src": "1654:7:0" + "referencedDeclaration": 45653, + "src": "1654:7:26" } ], - "src": "1637:25:0" + "src": "1637:25:26" }, "parameters": { - "id": 66, + "id": 44015, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 65, + "id": 44014, "mutability": "mutable", "name": "interfaceId", - "nameLocation": "1604:11:0", + "nameLocation": "1604:11:26", "nodeType": "VariableDeclaration", - "scope": 93, - "src": "1597:18:0", + "scope": 44042, + "src": "1597:18:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1932,10 +1932,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 64, + "id": 44013, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "1597:6:0", + "src": "1597:6:26", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -1944,21 +1944,21 @@ "visibility": "internal" } ], - "src": "1596:20:0" + "src": "1596:20:26" }, "returnParameters": { - "id": 72, + "id": 44021, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 71, + "id": 44020, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 93, - "src": "1672:4:0", + "scope": 44042, + "src": "1672:4:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1966,10 +1966,10 @@ "typeString": "bool" }, "typeName": { - "id": 70, + "id": 44019, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1672:4:0", + "src": "1672:4:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1978,22 +1978,22 @@ "visibility": "internal" } ], - "src": "1671:6:0" + "src": "1671:6:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 117, + "id": 44066, "nodeType": "FunctionDefinition", - "src": "1929:204:0", + "src": "1929:204:26", "nodes": [], "body": { - "id": 116, + "id": 44065, "nodeType": "Block", - "src": "2010:123:0", + "src": "2010:123:26", "nodes": [], "statements": [ { @@ -2004,18 +2004,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 108, + "id": 44057, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 103, + "id": 44052, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 96, - "src": "2028:5:0", + "referencedDeclaration": 44045, + "src": "2028:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2027,14 +2027,14 @@ "arguments": [ { "hexValue": "30", - "id": 106, + "id": 44055, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2045:1:0", + "src": "2045:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -2049,26 +2049,26 @@ "typeString": "int_const 0" } ], - "id": 105, + "id": 44054, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2037:7:0", + "src": "2037:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 104, + "id": 44053, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2037:7:0", + "src": "2037:7:26", "typeDescriptions": {} } }, - "id": 107, + "id": 44056, "isConstant": false, "isLValue": false, "isPure": true, @@ -2077,14 +2077,14 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2037:10:0", + "src": "2037:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2028:19:0", + "src": "2028:19:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2092,14 +2092,14 @@ }, { "hexValue": "4552433732313a2061646472657373207a65726f206973206e6f7420612076616c6964206f776e6572", - "id": 109, + "id": 44058, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2049:43:0", + "src": "2049:43:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", "typeString": "literal_string \"ERC721: address zero is not a valid owner\"" @@ -2118,7 +2118,7 @@ "typeString": "literal_string \"ERC721: address zero is not a valid owner\"" } ], - "id": 102, + "id": 44051, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2126,13 +2126,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2020:7:0", + "src": "2020:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 110, + "id": 44059, "isConstant": false, "isLValue": false, "isPure": false, @@ -2141,39 +2141,39 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2020:73:0", + "src": "2020:73:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 111, + "id": 44060, "nodeType": "ExpressionStatement", - "src": "2020:73:0" + "src": "2020:73:26" }, { "expression": { "baseExpression": { - "id": 112, + "id": 44061, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "2110:9:0", + "referencedDeclaration": 43984, + "src": "2110:9:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 114, + "id": 44063, "indexExpression": { - "id": 113, + "id": 44062, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 96, - "src": "2120:5:0", + "referencedDeclaration": 44045, + "src": "2120:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2184,26 +2184,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2110:16:0", + "src": "2110:16:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 101, - "id": 115, + "functionReturnParameters": 44050, + "id": 44064, "nodeType": "Return", - "src": "2103:23:0" + "src": "2103:23:26" } ] }, "baseFunctions": [ - 967 + 44916 ], "documentation": { - "id": 94, + "id": 44043, "nodeType": "StructuredDocumentation", - "src": "1876:48:0", + "src": "1876:48:26", "text": " @dev See {IERC721-balanceOf}." }, "functionSelector": "70a08231", @@ -2211,26 +2211,26 @@ "kind": "function", "modifiers": [], "name": "balanceOf", - "nameLocation": "1938:9:0", + "nameLocation": "1938:9:26", "overrides": { - "id": 98, + "id": 44047, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "1983:8:0" + "src": "1983:8:26" }, "parameters": { - "id": 97, + "id": 44046, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 96, + "id": 44045, "mutability": "mutable", "name": "owner", - "nameLocation": "1956:5:0", + "nameLocation": "1956:5:26", "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1948:13:0", + "scope": 44066, + "src": "1948:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2238,10 +2238,10 @@ "typeString": "address" }, "typeName": { - "id": 95, + "id": 44044, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1948:7:0", + "src": "1948:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2251,21 +2251,21 @@ "visibility": "internal" } ], - "src": "1947:15:0" + "src": "1947:15:26" }, "returnParameters": { - "id": 101, + "id": 44050, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 100, + "id": 44049, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 117, - "src": "2001:7:0", + "scope": 44066, + "src": "2001:7:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2273,10 +2273,10 @@ "typeString": "uint256" }, "typeName": { - "id": 99, + "id": 44048, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2001:7:0", + "src": "2001:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2285,38 +2285,38 @@ "visibility": "internal" } ], - "src": "2000:9:0" + "src": "2000:9:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 145, + "id": 44094, "nodeType": "FunctionDefinition", - "src": "2190:219:0", + "src": "2190:219:26", "nodes": [], "body": { - "id": 144, + "id": 44093, "nodeType": "Block", - "src": "2271:138:0", + "src": "2271:138:26", "nodes": [], "statements": [ { "assignments": [ - 127 + 44076 ], "declarations": [ { "constant": false, - "id": 127, + "id": 44076, "mutability": "mutable", "name": "owner", - "nameLocation": "2289:5:0", + "nameLocation": "2289:5:26", "nodeType": "VariableDeclaration", - "scope": 144, - "src": "2281:13:0", + "scope": 44093, + "src": "2281:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2324,10 +2324,10 @@ "typeString": "address" }, "typeName": { - "id": 126, + "id": 44075, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2281:7:0", + "src": "2281:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2337,16 +2337,16 @@ "visibility": "internal" } ], - "id": 131, + "id": 44080, "initialValue": { "arguments": [ { - "id": 129, + "id": 44078, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120, - "src": "2306:7:0", + "referencedDeclaration": 44069, + "src": "2306:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2360,18 +2360,18 @@ "typeString": "uint256" } ], - "id": 128, + "id": 44077, "name": "_ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 427, - "src": "2297:8:0", + "referencedDeclaration": 44376, + "src": "2297:8:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 130, + "id": 44079, "isConstant": false, "isLValue": false, "isPure": false, @@ -2380,7 +2380,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2297:17:0", + "src": "2297:17:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -2388,7 +2388,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2281:33:0" + "src": "2281:33:26" }, { "expression": { @@ -2398,18 +2398,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 138, + "id": 44087, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 133, + "id": 44082, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 127, - "src": "2332:5:0", + "referencedDeclaration": 44076, + "src": "2332:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2421,14 +2421,14 @@ "arguments": [ { "hexValue": "30", - "id": 136, + "id": 44085, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2349:1:0", + "src": "2349:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -2443,26 +2443,26 @@ "typeString": "int_const 0" } ], - "id": 135, + "id": 44084, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2341:7:0", + "src": "2341:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 134, + "id": 44083, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2341:7:0", + "src": "2341:7:26", "typeDescriptions": {} } }, - "id": 137, + "id": 44086, "isConstant": false, "isLValue": false, "isPure": true, @@ -2471,14 +2471,14 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2341:10:0", + "src": "2341:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2332:19:0", + "src": "2332:19:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2486,14 +2486,14 @@ }, { "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", - "id": 139, + "id": 44088, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2353:26:0", + "src": "2353:26:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", "typeString": "literal_string \"ERC721: invalid token ID\"" @@ -2512,7 +2512,7 @@ "typeString": "literal_string \"ERC721: invalid token ID\"" } ], - "id": 132, + "id": 44081, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2520,13 +2520,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2324:7:0", + "src": "2324:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 140, + "id": 44089, "isConstant": false, "isLValue": false, "isPure": false, @@ -2535,44 +2535,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2324:56:0", + "src": "2324:56:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 141, + "id": 44090, "nodeType": "ExpressionStatement", - "src": "2324:56:0" + "src": "2324:56:26" }, { "expression": { - "id": 142, + "id": 44091, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 127, - "src": "2397:5:0", + "referencedDeclaration": 44076, + "src": "2397:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 125, - "id": 143, + "functionReturnParameters": 44074, + "id": 44092, "nodeType": "Return", - "src": "2390:12:0" + "src": "2390:12:26" } ] }, "baseFunctions": [ - 975 + 44924 ], "documentation": { - "id": 118, + "id": 44067, "nodeType": "StructuredDocumentation", - "src": "2139:46:0", + "src": "2139:46:26", "text": " @dev See {IERC721-ownerOf}." }, "functionSelector": "6352211e", @@ -2580,26 +2580,26 @@ "kind": "function", "modifiers": [], "name": "ownerOf", - "nameLocation": "2199:7:0", + "nameLocation": "2199:7:26", "overrides": { - "id": 122, + "id": 44071, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "2244:8:0" + "src": "2244:8:26" }, "parameters": { - "id": 121, + "id": 44070, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120, + "id": 44069, "mutability": "mutable", "name": "tokenId", - "nameLocation": "2215:7:0", + "nameLocation": "2215:7:26", "nodeType": "VariableDeclaration", - "scope": 145, - "src": "2207:15:0", + "scope": 44094, + "src": "2207:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2607,10 +2607,10 @@ "typeString": "uint256" }, "typeName": { - "id": 119, + "id": 44068, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2207:7:0", + "src": "2207:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2619,21 +2619,21 @@ "visibility": "internal" } ], - "src": "2206:17:0" + "src": "2206:17:26" }, "returnParameters": { - "id": 125, + "id": 44074, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 124, + "id": 44073, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 145, - "src": "2262:7:0", + "scope": 44094, + "src": "2262:7:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2641,10 +2641,10 @@ "typeString": "address" }, "typeName": { - "id": 123, + "id": 44072, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2262:7:0", + "src": "2262:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2654,51 +2654,51 @@ "visibility": "internal" } ], - "src": "2261:9:0" + "src": "2261:9:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 155, + "id": 44104, "nodeType": "FunctionDefinition", - "src": "2471:98:0", + "src": "2471:98:26", "nodes": [], "body": { - "id": 154, + "id": 44103, "nodeType": "Block", - "src": "2540:29:0", + "src": "2540:29:26", "nodes": [], "statements": [ { "expression": { - "id": 152, + "id": 44101, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "2557:5:0", + "referencedDeclaration": 43974, + "src": "2557:5:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 151, - "id": 153, + "functionReturnParameters": 44100, + "id": 44102, "nodeType": "Return", - "src": "2550:12:0" + "src": "2550:12:26" } ] }, "baseFunctions": [ - 1072 + 45021 ], "documentation": { - "id": 146, + "id": 44095, "nodeType": "StructuredDocumentation", - "src": "2415:51:0", + "src": "2415:51:26", "text": " @dev See {IERC721Metadata-name}." }, "functionSelector": "06fdde03", @@ -2706,32 +2706,32 @@ "kind": "function", "modifiers": [], "name": "name", - "nameLocation": "2480:4:0", + "nameLocation": "2480:4:26", "overrides": { - "id": 148, + "id": 44097, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "2507:8:0" + "src": "2507:8:26" }, "parameters": { - "id": 147, + "id": 44096, "nodeType": "ParameterList", "parameters": [], - "src": "2484:2:0" + "src": "2484:2:26" }, "returnParameters": { - "id": 151, + "id": 44100, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 150, + "id": 44099, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 155, - "src": "2525:13:0", + "scope": 44104, + "src": "2525:13:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2739,10 +2739,10 @@ "typeString": "string" }, "typeName": { - "id": 149, + "id": 44098, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2525:6:0", + "src": "2525:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2751,51 +2751,51 @@ "visibility": "internal" } ], - "src": "2524:15:0" + "src": "2524:15:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 165, + "id": 44114, "nodeType": "FunctionDefinition", - "src": "2633:102:0", + "src": "2633:102:26", "nodes": [], "body": { - "id": 164, + "id": 44113, "nodeType": "Block", - "src": "2704:31:0", + "src": "2704:31:26", "nodes": [], "statements": [ { "expression": { - "id": 162, + "id": 44111, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "2721:7:0", + "referencedDeclaration": 43976, + "src": "2721:7:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 161, - "id": 163, + "functionReturnParameters": 44110, + "id": 44112, "nodeType": "Return", - "src": "2714:14:0" + "src": "2714:14:26" } ] }, "baseFunctions": [ - 1078 + 45027 ], "documentation": { - "id": 156, + "id": 44105, "nodeType": "StructuredDocumentation", - "src": "2575:53:0", + "src": "2575:53:26", "text": " @dev See {IERC721Metadata-symbol}." }, "functionSelector": "95d89b41", @@ -2803,32 +2803,32 @@ "kind": "function", "modifiers": [], "name": "symbol", - "nameLocation": "2642:6:0", + "nameLocation": "2642:6:26", "overrides": { - "id": 158, + "id": 44107, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "2671:8:0" + "src": "2671:8:26" }, "parameters": { - "id": 157, + "id": 44106, "nodeType": "ParameterList", "parameters": [], - "src": "2648:2:0" + "src": "2648:2:26" }, "returnParameters": { - "id": 161, + "id": 44110, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 160, + "id": 44109, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 165, - "src": "2689:13:0", + "scope": 44114, + "src": "2689:13:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2836,10 +2836,10 @@ "typeString": "string" }, "typeName": { - "id": 159, + "id": 44108, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2689:6:0", + "src": "2689:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2848,34 +2848,34 @@ "visibility": "internal" } ], - "src": "2688:15:0" + "src": "2688:15:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 204, + "id": 44153, "nodeType": "FunctionDefinition", - "src": "2801:276:0", + "src": "2801:276:26", "nodes": [], "body": { - "id": 203, + "id": 44152, "nodeType": "Block", - "src": "2889:188:0", + "src": "2889:188:26", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 175, + "id": 44124, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 168, - "src": "2914:7:0", + "referencedDeclaration": 44117, + "src": "2914:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2889,18 +2889,18 @@ "typeString": "uint256" } ], - "id": 174, + "id": 44123, "name": "_requireMinted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "2899:14:0", + "referencedDeclaration": 44771, + "src": "2899:14:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", "typeString": "function (uint256) view" } }, - "id": 176, + "id": 44125, "isConstant": false, "isLValue": false, "isPure": false, @@ -2909,31 +2909,31 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2899:23:0", + "src": "2899:23:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 177, + "id": 44126, "nodeType": "ExpressionStatement", - "src": "2899:23:0" + "src": "2899:23:26" }, { "assignments": [ - 179 + 44128 ], "declarations": [ { "constant": false, - "id": 179, + "id": 44128, "mutability": "mutable", "name": "baseURI", - "nameLocation": "2947:7:0", + "nameLocation": "2947:7:26", "nodeType": "VariableDeclaration", - "scope": 203, - "src": "2933:21:0", + "scope": 44152, + "src": "2933:21:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2941,10 +2941,10 @@ "typeString": "string" }, "typeName": { - "id": 178, + "id": 44127, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2933:6:0", + "src": "2933:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2953,23 +2953,23 @@ "visibility": "internal" } ], - "id": 182, + "id": 44131, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 180, + "id": 44129, "name": "_baseURI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2957:8:0", + "referencedDeclaration": 44162, + "src": "2957:8:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", "typeString": "function () view returns (string memory)" } }, - "id": 181, + "id": 44130, "isConstant": false, "isLValue": false, "isPure": false, @@ -2978,7 +2978,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2957:10:0", + "src": "2957:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -2986,7 +2986,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2933:34:0" + "src": "2933:34:26" }, { "expression": { @@ -2995,7 +2995,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 189, + "id": 44138, "isConstant": false, "isLValue": false, "isPure": false, @@ -3004,12 +3004,12 @@ "expression": { "arguments": [ { - "id": 185, + "id": 44134, "name": "baseURI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "2990:7:0", + "referencedDeclaration": 44128, + "src": "2990:7:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3023,26 +3023,26 @@ "typeString": "string memory" } ], - "id": 184, + "id": 44133, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2984:5:0", + "src": "2984:5:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 183, + "id": 44132, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2984:5:0", + "src": "2984:5:26", "typeDescriptions": {} } }, - "id": 186, + "id": 44135, "isConstant": false, "isLValue": false, "isPure": false, @@ -3051,22 +3051,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2984:14:0", + "src": "2984:14:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 187, + "id": 44136, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2999:6:0", + "memberLocation": "2999:6:26", "memberName": "length", "nodeType": "MemberAccess", - "src": "2984:21:0", + "src": "2984:21:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3076,21 +3076,21 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 188, + "id": 44137, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3008:1:0", + "src": "3008:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "2984:25:0", + "src": "2984:25:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3098,38 +3098,38 @@ }, "falseExpression": { "hexValue": "", - "id": 200, + "id": 44149, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3068:2:0", + "src": "3068:2:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" }, - "id": 201, + "id": 44150, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "2984:86:0", + "src": "2984:86:26", "trueExpression": { "arguments": [ { "arguments": [ { - "id": 194, + "id": 44143, "name": "baseURI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3036:7:0", + "referencedDeclaration": 44128, + "src": "3036:7:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3140,33 +3140,33 @@ "expression": { "argumentTypes": [], "expression": { - "id": 195, + "id": 44144, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 168, - "src": "3045:7:0", + "referencedDeclaration": 44117, + "src": "3045:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 196, + "id": 44145, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3053:8:0", + "memberLocation": "3053:8:26", "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 1498, - "src": "3045:16:0", + "referencedDeclaration": 45447, + "src": "3045:16:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 197, + "id": 44146, "isConstant": false, "isLValue": false, "isPure": false, @@ -3175,7 +3175,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3045:18:0", + "src": "3045:18:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -3195,32 +3195,32 @@ } ], "expression": { - "id": 192, + "id": 44141, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "3019:3:0", + "src": "3019:3:26", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 193, + "id": 44142, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "3023:12:0", + "memberLocation": "3023:12:26", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "3019:16:0", + "src": "3019:16:26", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 198, + "id": 44147, "isConstant": false, "isLValue": false, "isPure": false, @@ -3229,7 +3229,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3019:45:0", + "src": "3019:45:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -3244,26 +3244,26 @@ "typeString": "bytes memory" } ], - "id": 191, + "id": 44140, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3012:6:0", + "src": "3012:6:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 190, + "id": 44139, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3012:6:0", + "src": "3012:6:26", "typeDescriptions": {} } }, - "id": 199, + "id": 44148, "isConstant": false, "isLValue": false, "isPure": false, @@ -3272,7 +3272,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3012:53:0", + "src": "3012:53:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -3284,20 +3284,20 @@ "typeString": "string memory" } }, - "functionReturnParameters": 173, - "id": 202, + "functionReturnParameters": 44122, + "id": 44151, "nodeType": "Return", - "src": "2977:93:0" + "src": "2977:93:26" } ] }, "baseFunctions": [ - 1086 + 45035 ], "documentation": { - "id": 166, + "id": 44115, "nodeType": "StructuredDocumentation", - "src": "2741:55:0", + "src": "2741:55:26", "text": " @dev See {IERC721Metadata-tokenURI}." }, "functionSelector": "c87b56dd", @@ -3305,26 +3305,26 @@ "kind": "function", "modifiers": [], "name": "tokenURI", - "nameLocation": "2810:8:0", + "nameLocation": "2810:8:26", "overrides": { - "id": 170, + "id": 44119, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "2856:8:0" + "src": "2856:8:26" }, "parameters": { - "id": 169, + "id": 44118, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 168, + "id": 44117, "mutability": "mutable", "name": "tokenId", - "nameLocation": "2827:7:0", + "nameLocation": "2827:7:26", "nodeType": "VariableDeclaration", - "scope": 204, - "src": "2819:15:0", + "scope": 44153, + "src": "2819:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3332,10 +3332,10 @@ "typeString": "uint256" }, "typeName": { - "id": 167, + "id": 44116, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2819:7:0", + "src": "2819:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3344,21 +3344,21 @@ "visibility": "internal" } ], - "src": "2818:17:0" + "src": "2818:17:26" }, "returnParameters": { - "id": 173, + "id": 44122, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 172, + "id": 44121, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 204, - "src": "2874:13:0", + "scope": 44153, + "src": "2874:13:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3366,10 +3366,10 @@ "typeString": "string" }, "typeName": { - "id": 171, + "id": 44120, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2874:6:0", + "src": "2874:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -3378,78 +3378,78 @@ "visibility": "internal" } ], - "src": "2873:15:0" + "src": "2873:15:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 213, + "id": 44162, "nodeType": "FunctionDefinition", - "src": "3319:92:0", + "src": "3319:92:26", "nodes": [], "body": { - "id": 212, + "id": 44161, "nodeType": "Block", - "src": "3385:26:0", + "src": "3385:26:26", "nodes": [], "statements": [ { "expression": { "hexValue": "", - "id": 210, + "id": 44159, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3402:2:0", + "src": "3402:2:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" }, - "functionReturnParameters": 209, - "id": 211, + "functionReturnParameters": 44158, + "id": 44160, "nodeType": "Return", - "src": "3395:9:0" + "src": "3395:9:26" } ] }, "documentation": { - "id": 205, + "id": 44154, "nodeType": "StructuredDocumentation", - "src": "3083:231:0", + "src": "3083:231:26", "text": " @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n by default, can be overridden in child contracts." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_baseURI", - "nameLocation": "3328:8:0", + "nameLocation": "3328:8:26", "parameters": { - "id": 206, + "id": 44155, "nodeType": "ParameterList", "parameters": [], - "src": "3336:2:0" + "src": "3336:2:26" }, "returnParameters": { - "id": 209, + "id": 44158, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 208, + "id": 44157, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 213, - "src": "3370:13:0", + "scope": 44162, + "src": "3370:13:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3457,10 +3457,10 @@ "typeString": "string" }, "typeName": { - "id": 207, + "id": 44156, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3370:6:0", + "src": "3370:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -3469,38 +3469,38 @@ "visibility": "internal" } ], - "src": "3369:15:0" + "src": "3369:15:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "view", "virtual": true, "visibility": "internal" }, { - "id": 256, + "id": 44205, "nodeType": "FunctionDefinition", - "src": "3468:406:0", + "src": "3468:406:26", "nodes": [], "body": { - "id": 255, + "id": 44204, "nodeType": "Block", - "src": "3538:336:0", + "src": "3538:336:26", "nodes": [], "statements": [ { "assignments": [ - 223 + 44172 ], "declarations": [ { "constant": false, - "id": 223, + "id": 44172, "mutability": "mutable", "name": "owner", - "nameLocation": "3556:5:0", + "nameLocation": "3556:5:26", "nodeType": "VariableDeclaration", - "scope": 255, - "src": "3548:13:0", + "scope": 44204, + "src": "3548:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3508,10 +3508,10 @@ "typeString": "address" }, "typeName": { - "id": 222, + "id": 44171, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3548:7:0", + "src": "3548:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3521,16 +3521,16 @@ "visibility": "internal" } ], - "id": 228, + "id": 44177, "initialValue": { "arguments": [ { - "id": 226, + "id": 44175, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "3579:7:0", + "referencedDeclaration": 44167, + "src": "3579:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3545,33 +3545,33 @@ } ], "expression": { - "id": 224, + "id": 44173, "name": "ERC721", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "3564:6:0", + "referencedDeclaration": 44875, + "src": "3564:6:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", + "typeIdentifier": "t_type$_t_contract$_ERC721_$44875_$", "typeString": "type(contract ERC721)" } }, - "id": 225, + "id": 44174, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3571:7:0", + "memberLocation": "3571:7:26", "memberName": "ownerOf", "nodeType": "MemberAccess", - "referencedDeclaration": 145, - "src": "3564:14:0", + "referencedDeclaration": 44094, + "src": "3564:14:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 227, + "id": 44176, "isConstant": false, "isLValue": false, "isPure": false, @@ -3580,7 +3580,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3564:23:0", + "src": "3564:23:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -3588,7 +3588,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "3548:39:0" + "src": "3548:39:26" }, { "expression": { @@ -3598,18 +3598,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 232, + "id": 44181, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 230, + "id": 44179, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "3605:2:0", + "referencedDeclaration": 44165, + "src": "3605:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3618,18 +3618,18 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 231, + "id": 44180, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 223, - "src": "3611:5:0", + "referencedDeclaration": 44172, + "src": "3611:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3605:11:0", + "src": "3605:11:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3637,14 +3637,14 @@ }, { "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572", - "id": 233, + "id": 44182, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3618:35:0", + "src": "3618:35:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", "typeString": "literal_string \"ERC721: approval to current owner\"" @@ -3663,7 +3663,7 @@ "typeString": "literal_string \"ERC721: approval to current owner\"" } ], - "id": 229, + "id": 44178, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3671,13 +3671,13 @@ -18 ], "referencedDeclaration": -18, - "src": "3597:7:0", + "src": "3597:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 234, + "id": 44183, "isConstant": false, "isLValue": false, "isPure": false, @@ -3686,16 +3686,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3597:57:0", + "src": "3597:57:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 235, + "id": 44184, "nodeType": "ExpressionStatement", - "src": "3597:57:0" + "src": "3597:57:26" }, { "expression": { @@ -3705,7 +3705,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 246, + "id": 44195, "isConstant": false, "isLValue": false, "isPure": false, @@ -3715,7 +3715,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 240, + "id": 44189, "isConstant": false, "isLValue": false, "isPure": false, @@ -3724,18 +3724,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 237, + "id": 44186, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1429, - "src": "3686:10:0", + "referencedDeclaration": 45378, + "src": "3686:10:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 238, + "id": 44187, "isConstant": false, "isLValue": false, "isPure": false, @@ -3744,7 +3744,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3686:12:0", + "src": "3686:12:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -3754,18 +3754,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 239, + "id": 44188, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 223, - "src": "3702:5:0", + "referencedDeclaration": 44172, + "src": "3702:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3686:21:0", + "src": "3686:21:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3776,12 +3776,12 @@ "rightExpression": { "arguments": [ { - "id": 242, + "id": 44191, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 223, - "src": "3728:5:0", + "referencedDeclaration": 44172, + "src": "3728:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3791,18 +3791,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 243, + "id": 44192, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1429, - "src": "3735:10:0", + "referencedDeclaration": 45378, + "src": "3735:10:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 244, + "id": 44193, "isConstant": false, "isLValue": false, "isPure": false, @@ -3811,7 +3811,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3735:12:0", + "src": "3735:12:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -3830,18 +3830,18 @@ "typeString": "address" } ], - "id": 241, + "id": 44190, "name": "isApprovedForAll", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "3711:16:0", + "referencedDeclaration": 44258, + "src": "3711:16:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", "typeString": "function (address,address) view returns (bool)" } }, - "id": 245, + "id": 44194, "isConstant": false, "isLValue": false, "isPure": false, @@ -3850,14 +3850,14 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3711:37:0", + "src": "3711:37:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "3686:62:0", + "src": "3686:62:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3865,14 +3865,14 @@ }, { "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c", - "id": 247, + "id": 44196, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3762:63:0", + "src": "3762:63:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", "typeString": "literal_string \"ERC721: approve caller is not token owner or approved for all\"" @@ -3891,7 +3891,7 @@ "typeString": "literal_string \"ERC721: approve caller is not token owner or approved for all\"" } ], - "id": 236, + "id": 44185, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3899,13 +3899,13 @@ -18 ], "referencedDeclaration": -18, - "src": "3665:7:0", + "src": "3665:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 248, + "id": 44197, "isConstant": false, "isLValue": false, "isPure": false, @@ -3914,39 +3914,39 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3665:170:0", + "src": "3665:170:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 249, + "id": 44198, "nodeType": "ExpressionStatement", - "src": "3665:170:0" + "src": "3665:170:26" }, { "expression": { "arguments": [ { - "id": 251, + "id": 44200, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "3855:2:0", + "referencedDeclaration": 44165, + "src": "3855:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 252, + "id": 44201, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "3859:7:0", + "referencedDeclaration": 44167, + "src": "3859:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3964,18 +3964,18 @@ "typeString": "uint256" } ], - "id": 250, + "id": 44199, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 776, - "src": "3846:8:0", + "referencedDeclaration": 44725, + "src": "3846:8:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 253, + "id": 44202, "isConstant": false, "isLValue": false, "isPure": false, @@ -3984,26 +3984,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3846:21:0", + "src": "3846:21:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 254, + "id": 44203, "nodeType": "ExpressionStatement", - "src": "3846:21:0" + "src": "3846:21:26" } ] }, "baseFunctions": [ - 1015 + 44964 ], "documentation": { - "id": 214, + "id": 44163, "nodeType": "StructuredDocumentation", - "src": "3417:46:0", + "src": "3417:46:26", "text": " @dev See {IERC721-approve}." }, "functionSelector": "095ea7b3", @@ -4011,26 +4011,26 @@ "kind": "function", "modifiers": [], "name": "approve", - "nameLocation": "3477:7:0", + "nameLocation": "3477:7:26", "overrides": { - "id": 220, + "id": 44169, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3529:8:0" + "src": "3529:8:26" }, "parameters": { - "id": 219, + "id": 44168, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 216, + "id": 44165, "mutability": "mutable", "name": "to", - "nameLocation": "3493:2:0", + "nameLocation": "3493:2:26", "nodeType": "VariableDeclaration", - "scope": 256, - "src": "3485:10:0", + "scope": 44205, + "src": "3485:10:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4038,10 +4038,10 @@ "typeString": "address" }, "typeName": { - "id": 215, + "id": 44164, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3485:7:0", + "src": "3485:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4052,13 +4052,13 @@ }, { "constant": false, - "id": 218, + "id": 44167, "mutability": "mutable", "name": "tokenId", - "nameLocation": "3505:7:0", + "nameLocation": "3505:7:26", "nodeType": "VariableDeclaration", - "scope": 256, - "src": "3497:15:0", + "scope": 44205, + "src": "3497:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4066,10 +4066,10 @@ "typeString": "uint256" }, "typeName": { - "id": 217, + "id": 44166, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3497:7:0", + "src": "3497:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4078,40 +4078,40 @@ "visibility": "internal" } ], - "src": "3484:29:0" + "src": "3484:29:26" }, "returnParameters": { - "id": 221, + "id": 44170, "nodeType": "ParameterList", "parameters": [], - "src": "3538:0:0" + "src": "3538:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 274, + "id": 44223, "nodeType": "FunctionDefinition", - "src": "3935:167:0", + "src": "3935:167:26", "nodes": [], "body": { - "id": 273, + "id": 44222, "nodeType": "Block", - "src": "4020:82:0", + "src": "4020:82:26", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 266, + "id": 44215, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4045:7:0", + "referencedDeclaration": 44208, + "src": "4045:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4125,18 +4125,18 @@ "typeString": "uint256" } ], - "id": 265, + "id": 44214, "name": "_requireMinted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "4030:14:0", + "referencedDeclaration": 44771, + "src": "4030:14:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", "typeString": "function (uint256) view" } }, - "id": 267, + "id": 44216, "isConstant": false, "isLValue": false, "isPure": false, @@ -4145,39 +4145,39 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4030:23:0", + "src": "4030:23:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 268, + "id": 44217, "nodeType": "ExpressionStatement", - "src": "4030:23:0" + "src": "4030:23:26" }, { "expression": { "baseExpression": { - "id": 269, + "id": 44218, "name": "_tokenApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 39, - "src": "4071:15:0", + "referencedDeclaration": 43988, + "src": "4071:15:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 271, + "id": 44220, "indexExpression": { - "id": 270, + "id": 44219, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4087:7:0", + "referencedDeclaration": 44208, + "src": "4087:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4188,26 +4188,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4071:24:0", + "src": "4071:24:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 264, - "id": 272, + "functionReturnParameters": 44213, + "id": 44221, "nodeType": "Return", - "src": "4064:31:0" + "src": "4064:31:26" } ] }, "baseFunctions": [ - 1031 + 44980 ], "documentation": { - "id": 257, + "id": 44206, "nodeType": "StructuredDocumentation", - "src": "3880:50:0", + "src": "3880:50:26", "text": " @dev See {IERC721-getApproved}." }, "functionSelector": "081812fc", @@ -4215,26 +4215,26 @@ "kind": "function", "modifiers": [], "name": "getApproved", - "nameLocation": "3944:11:0", + "nameLocation": "3944:11:26", "overrides": { - "id": 261, + "id": 44210, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3993:8:0" + "src": "3993:8:26" }, "parameters": { - "id": 260, + "id": 44209, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 259, + "id": 44208, "mutability": "mutable", "name": "tokenId", - "nameLocation": "3964:7:0", + "nameLocation": "3964:7:26", "nodeType": "VariableDeclaration", - "scope": 274, - "src": "3956:15:0", + "scope": 44223, + "src": "3956:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4242,10 +4242,10 @@ "typeString": "uint256" }, "typeName": { - "id": 258, + "id": 44207, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3956:7:0", + "src": "3956:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4254,21 +4254,21 @@ "visibility": "internal" } ], - "src": "3955:17:0" + "src": "3955:17:26" }, "returnParameters": { - "id": 264, + "id": 44213, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 263, + "id": 44212, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 274, - "src": "4011:7:0", + "scope": 44223, + "src": "4011:7:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4276,10 +4276,10 @@ "typeString": "address" }, "typeName": { - "id": 262, + "id": 44211, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4011:7:0", + "src": "4011:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4289,22 +4289,22 @@ "visibility": "internal" } ], - "src": "4010:9:0" + "src": "4010:9:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 291, + "id": 44240, "nodeType": "FunctionDefinition", - "src": "4169:153:0", + "src": "4169:153:26", "nodes": [], "body": { - "id": 290, + "id": 44239, "nodeType": "Block", - "src": "4253:69:0", + "src": "4253:69:26", "nodes": [], "statements": [ { @@ -4314,18 +4314,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 284, + "id": 44233, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1429, - "src": "4282:10:0", + "referencedDeclaration": 45378, + "src": "4282:10:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 285, + "id": 44234, "isConstant": false, "isLValue": false, "isPure": false, @@ -4334,7 +4334,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4282:12:0", + "src": "4282:12:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -4342,24 +4342,24 @@ } }, { - "id": 286, + "id": 44235, "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 277, - "src": "4296:8:0", + "referencedDeclaration": 44226, + "src": "4296:8:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 287, + "id": 44236, "name": "approved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 279, - "src": "4306:8:0", + "referencedDeclaration": 44228, + "src": "4306:8:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4381,18 +4381,18 @@ "typeString": "bool" } ], - "id": 283, + "id": 44232, "name": "_setApprovalForAll", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "4263:18:0", + "referencedDeclaration": 44757, + "src": "4263:18:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", "typeString": "function (address,address,bool)" } }, - "id": 288, + "id": 44237, "isConstant": false, "isLValue": false, "isPure": false, @@ -4401,26 +4401,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4263:52:0", + "src": "4263:52:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 289, + "id": 44238, "nodeType": "ExpressionStatement", - "src": "4263:52:0" + "src": "4263:52:26" } ] }, "baseFunctions": [ - 1023 + 44972 ], "documentation": { - "id": 275, + "id": 44224, "nodeType": "StructuredDocumentation", - "src": "4108:56:0", + "src": "4108:56:26", "text": " @dev See {IERC721-setApprovalForAll}." }, "functionSelector": "a22cb465", @@ -4428,26 +4428,26 @@ "kind": "function", "modifiers": [], "name": "setApprovalForAll", - "nameLocation": "4178:17:0", + "nameLocation": "4178:17:26", "overrides": { - "id": 281, + "id": 44230, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "4244:8:0" + "src": "4244:8:26" }, "parameters": { - "id": 280, + "id": 44229, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 277, + "id": 44226, "mutability": "mutable", "name": "operator", - "nameLocation": "4204:8:0", + "nameLocation": "4204:8:26", "nodeType": "VariableDeclaration", - "scope": 291, - "src": "4196:16:0", + "scope": 44240, + "src": "4196:16:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4455,10 +4455,10 @@ "typeString": "address" }, "typeName": { - "id": 276, + "id": 44225, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4196:7:0", + "src": "4196:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4469,13 +4469,13 @@ }, { "constant": false, - "id": 279, + "id": 44228, "mutability": "mutable", "name": "approved", - "nameLocation": "4219:8:0", + "nameLocation": "4219:8:26", "nodeType": "VariableDeclaration", - "scope": 291, - "src": "4214:13:0", + "scope": 44240, + "src": "4214:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4483,10 +4483,10 @@ "typeString": "bool" }, "typeName": { - "id": 278, + "id": 44227, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4214:4:0", + "src": "4214:4:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4495,53 +4495,53 @@ "visibility": "internal" } ], - "src": "4195:33:0" + "src": "4195:33:26" }, "returnParameters": { - "id": 282, + "id": 44231, "nodeType": "ParameterList", "parameters": [], - "src": "4253:0:0" + "src": "4253:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 309, + "id": 44258, "nodeType": "FunctionDefinition", - "src": "4388:162:0", + "src": "4388:162:26", "nodes": [], "body": { - "id": 308, + "id": 44257, "nodeType": "Block", - "src": "4491:59:0", + "src": "4491:59:26", "nodes": [], "statements": [ { "expression": { "baseExpression": { "baseExpression": { - "id": 302, + "id": 44251, "name": "_operatorApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45, - "src": "4508:18:0", + "referencedDeclaration": 43994, + "src": "4508:18:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", "typeString": "mapping(address => mapping(address => bool))" } }, - "id": 304, + "id": 44253, "indexExpression": { - "id": 303, + "id": 44252, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "4527:5:0", + "referencedDeclaration": 44243, + "src": "4527:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4552,20 +4552,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4508:25:0", + "src": "4508:25:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 306, + "id": 44255, "indexExpression": { - "id": 305, + "id": 44254, "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "4534:8:0", + "referencedDeclaration": 44245, + "src": "4534:8:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4576,26 +4576,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4508:35:0", + "src": "4508:35:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 301, - "id": 307, + "functionReturnParameters": 44250, + "id": 44256, "nodeType": "Return", - "src": "4501:42:0" + "src": "4501:42:26" } ] }, "baseFunctions": [ - 1041 + 44990 ], "documentation": { - "id": 292, + "id": 44241, "nodeType": "StructuredDocumentation", - "src": "4328:55:0", + "src": "4328:55:26", "text": " @dev See {IERC721-isApprovedForAll}." }, "functionSelector": "e985e9c5", @@ -4603,26 +4603,26 @@ "kind": "function", "modifiers": [], "name": "isApprovedForAll", - "nameLocation": "4397:16:0", + "nameLocation": "4397:16:26", "overrides": { - "id": 298, + "id": 44247, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "4467:8:0" + "src": "4467:8:26" }, "parameters": { - "id": 297, + "id": 44246, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 294, + "id": 44243, "mutability": "mutable", "name": "owner", - "nameLocation": "4422:5:0", + "nameLocation": "4422:5:26", "nodeType": "VariableDeclaration", - "scope": 309, - "src": "4414:13:0", + "scope": 44258, + "src": "4414:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4630,10 +4630,10 @@ "typeString": "address" }, "typeName": { - "id": 293, + "id": 44242, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4414:7:0", + "src": "4414:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4644,13 +4644,13 @@ }, { "constant": false, - "id": 296, + "id": 44245, "mutability": "mutable", "name": "operator", - "nameLocation": "4437:8:0", + "nameLocation": "4437:8:26", "nodeType": "VariableDeclaration", - "scope": 309, - "src": "4429:16:0", + "scope": 44258, + "src": "4429:16:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4658,10 +4658,10 @@ "typeString": "address" }, "typeName": { - "id": 295, + "id": 44244, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4429:7:0", + "src": "4429:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4671,21 +4671,21 @@ "visibility": "internal" } ], - "src": "4413:33:0" + "src": "4413:33:26" }, "returnParameters": { - "id": 301, + "id": 44250, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 300, + "id": 44249, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 309, - "src": "4485:4:0", + "scope": 44258, + "src": "4485:4:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4693,10 +4693,10 @@ "typeString": "bool" }, "typeName": { - "id": 299, + "id": 44248, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4485:4:0", + "src": "4485:4:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4705,22 +4705,22 @@ "visibility": "internal" } ], - "src": "4484:6:0" + "src": "4484:6:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 336, + "id": 44285, "nodeType": "FunctionDefinition", - "src": "4612:296:0", + "src": "4612:296:26", "nodes": [], "body": { - "id": 335, + "id": 44284, "nodeType": "Block", - "src": "4701:207:0", + "src": "4701:207:26", "nodes": [], "statements": [ { @@ -4732,18 +4732,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 322, + "id": 44271, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1429, - "src": "4790:10:0", + "referencedDeclaration": 45378, + "src": "4790:10:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 323, + "id": 44272, "isConstant": false, "isLValue": false, "isPure": false, @@ -4752,7 +4752,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4790:12:0", + "src": "4790:12:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -4760,12 +4760,12 @@ } }, { - "id": 324, + "id": 44273, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "4804:7:0", + "referencedDeclaration": 44265, + "src": "4804:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4783,18 +4783,18 @@ "typeString": "uint256" } ], - "id": 321, + "id": 44270, "name": "_isApprovedOrOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 479, - "src": "4771:18:0", + "referencedDeclaration": 44428, + "src": "4771:18:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) view returns (bool)" } }, - "id": 325, + "id": 44274, "isConstant": false, "isLValue": false, "isPure": false, @@ -4803,7 +4803,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4771:41:0", + "src": "4771:41:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -4812,14 +4812,14 @@ }, { "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564", - "id": 326, + "id": 44275, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4814:47:0", + "src": "4814:47:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", "typeString": "literal_string \"ERC721: caller is not token owner or approved\"" @@ -4838,7 +4838,7 @@ "typeString": "literal_string \"ERC721: caller is not token owner or approved\"" } ], - "id": 320, + "id": 44269, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4846,13 +4846,13 @@ -18 ], "referencedDeclaration": -18, - "src": "4763:7:0", + "src": "4763:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 327, + "id": 44276, "isConstant": false, "isLValue": false, "isPure": false, @@ -4861,51 +4861,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4763:99:0", + "src": "4763:99:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 328, + "id": 44277, "nodeType": "ExpressionStatement", - "src": "4763:99:0" + "src": "4763:99:26" }, { "expression": { "arguments": [ { - "id": 330, + "id": 44279, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 312, - "src": "4883:4:0", + "referencedDeclaration": 44261, + "src": "4883:4:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 331, + "id": 44280, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 314, - "src": "4889:2:0", + "referencedDeclaration": 44263, + "src": "4889:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 332, + "id": 44281, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "4893:7:0", + "referencedDeclaration": 44265, + "src": "4893:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4927,18 +4927,18 @@ "typeString": "uint256" } ], - "id": 329, + "id": 44278, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "4873:9:0", + "referencedDeclaration": 44701, + "src": "4873:9:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 333, + "id": 44282, "isConstant": false, "isLValue": false, "isPure": false, @@ -4947,26 +4947,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4873:28:0", + "src": "4873:28:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 334, + "id": 44283, "nodeType": "ExpressionStatement", - "src": "4873:28:0" + "src": "4873:28:26" } ] }, "baseFunctions": [ - 1007 + 44956 ], "documentation": { - "id": 310, + "id": 44259, "nodeType": "StructuredDocumentation", - "src": "4556:51:0", + "src": "4556:51:26", "text": " @dev See {IERC721-transferFrom}." }, "functionSelector": "23b872dd", @@ -4974,26 +4974,26 @@ "kind": "function", "modifiers": [], "name": "transferFrom", - "nameLocation": "4621:12:0", + "nameLocation": "4621:12:26", "overrides": { - "id": 318, + "id": 44267, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "4692:8:0" + "src": "4692:8:26" }, "parameters": { - "id": 317, + "id": 44266, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 312, + "id": 44261, "mutability": "mutable", "name": "from", - "nameLocation": "4642:4:0", + "nameLocation": "4642:4:26", "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4634:12:0", + "scope": 44285, + "src": "4634:12:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5001,10 +5001,10 @@ "typeString": "address" }, "typeName": { - "id": 311, + "id": 44260, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4634:7:0", + "src": "4634:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5015,13 +5015,13 @@ }, { "constant": false, - "id": 314, + "id": 44263, "mutability": "mutable", "name": "to", - "nameLocation": "4656:2:0", + "nameLocation": "4656:2:26", "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4648:10:0", + "scope": 44285, + "src": "4648:10:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5029,10 +5029,10 @@ "typeString": "address" }, "typeName": { - "id": 313, + "id": 44262, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4648:7:0", + "src": "4648:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5043,13 +5043,13 @@ }, { "constant": false, - "id": 316, + "id": 44265, "mutability": "mutable", "name": "tokenId", - "nameLocation": "4668:7:0", + "nameLocation": "4668:7:26", "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4660:15:0", + "scope": 44285, + "src": "4660:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5057,10 +5057,10 @@ "typeString": "uint256" }, "typeName": { - "id": 315, + "id": 44264, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4660:7:0", + "src": "4660:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5069,64 +5069,64 @@ "visibility": "internal" } ], - "src": "4633:43:0" + "src": "4633:43:26" }, "returnParameters": { - "id": 319, + "id": 44268, "nodeType": "ParameterList", "parameters": [], - "src": "4701:0:0" + "src": "4701:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 355, + "id": 44304, "nodeType": "FunctionDefinition", - "src": "4974:149:0", + "src": "4974:149:26", "nodes": [], "body": { - "id": 354, + "id": 44303, "nodeType": "Block", - "src": "5067:56:0", + "src": "5067:56:26", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 348, + "id": 44297, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "5094:4:0", + "referencedDeclaration": 44288, + "src": "5094:4:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 349, + "id": 44298, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "5100:2:0", + "referencedDeclaration": 44290, + "src": "5100:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 350, + "id": 44299, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 343, - "src": "5104:7:0", + "referencedDeclaration": 44292, + "src": "5104:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5134,14 +5134,14 @@ }, { "hexValue": "", - "id": 351, + "id": 44300, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5113:2:0", + "src": "5113:2:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" @@ -5168,21 +5168,21 @@ "typeString": "literal_string \"\"" } ], - "id": 347, + "id": 44296, "name": "safeTransferFrom", "nodeType": "Identifier", "overloadedDeclarations": [ - 355, - 385 + 44304, + 44334 ], - "referencedDeclaration": 385, - "src": "5077:16:0", + "referencedDeclaration": 44334, + "src": "5077:16:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,address,uint256,bytes memory)" } }, - "id": 352, + "id": 44301, "isConstant": false, "isLValue": false, "isPure": false, @@ -5191,26 +5191,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5077:39:0", + "src": "5077:39:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 353, + "id": 44302, "nodeType": "ExpressionStatement", - "src": "5077:39:0" + "src": "5077:39:26" } ] }, "baseFunctions": [ - 997 + 44946 ], "documentation": { - "id": 337, + "id": 44286, "nodeType": "StructuredDocumentation", - "src": "4914:55:0", + "src": "4914:55:26", "text": " @dev See {IERC721-safeTransferFrom}." }, "functionSelector": "42842e0e", @@ -5218,26 +5218,26 @@ "kind": "function", "modifiers": [], "name": "safeTransferFrom", - "nameLocation": "4983:16:0", + "nameLocation": "4983:16:26", "overrides": { - "id": 345, + "id": 44294, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "5058:8:0" + "src": "5058:8:26" }, "parameters": { - "id": 344, + "id": 44293, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 339, + "id": 44288, "mutability": "mutable", "name": "from", - "nameLocation": "5008:4:0", + "nameLocation": "5008:4:26", "nodeType": "VariableDeclaration", - "scope": 355, - "src": "5000:12:0", + "scope": 44304, + "src": "5000:12:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5245,10 +5245,10 @@ "typeString": "address" }, "typeName": { - "id": 338, + "id": 44287, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5000:7:0", + "src": "5000:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5259,13 +5259,13 @@ }, { "constant": false, - "id": 341, + "id": 44290, "mutability": "mutable", "name": "to", - "nameLocation": "5022:2:0", + "nameLocation": "5022:2:26", "nodeType": "VariableDeclaration", - "scope": 355, - "src": "5014:10:0", + "scope": 44304, + "src": "5014:10:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5273,10 +5273,10 @@ "typeString": "address" }, "typeName": { - "id": 340, + "id": 44289, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5014:7:0", + "src": "5014:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5287,13 +5287,13 @@ }, { "constant": false, - "id": 343, + "id": 44292, "mutability": "mutable", "name": "tokenId", - "nameLocation": "5034:7:0", + "nameLocation": "5034:7:26", "nodeType": "VariableDeclaration", - "scope": 355, - "src": "5026:15:0", + "scope": 44304, + "src": "5026:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5301,10 +5301,10 @@ "typeString": "uint256" }, "typeName": { - "id": 342, + "id": 44291, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5026:7:0", + "src": "5026:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5313,28 +5313,28 @@ "visibility": "internal" } ], - "src": "4999:43:0" + "src": "4999:43:26" }, "returnParameters": { - "id": 346, + "id": 44295, "nodeType": "ParameterList", "parameters": [], - "src": "5067:0:0" + "src": "5067:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 385, + "id": 44334, "nodeType": "FunctionDefinition", - "src": "5189:276:0", + "src": "5189:276:26", "nodes": [], "body": { - "id": 384, + "id": 44333, "nodeType": "Block", - "src": "5301:164:0", + "src": "5301:164:26", "nodes": [], "statements": [ { @@ -5346,18 +5346,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 370, + "id": 44319, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1429, - "src": "5338:10:0", + "referencedDeclaration": 45378, + "src": "5338:10:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 371, + "id": 44320, "isConstant": false, "isLValue": false, "isPure": false, @@ -5366,7 +5366,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5338:12:0", + "src": "5338:12:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -5374,12 +5374,12 @@ } }, { - "id": 372, + "id": 44321, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 362, - "src": "5352:7:0", + "referencedDeclaration": 44311, + "src": "5352:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5397,18 +5397,18 @@ "typeString": "uint256" } ], - "id": 369, + "id": 44318, "name": "_isApprovedOrOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 479, - "src": "5319:18:0", + "referencedDeclaration": 44428, + "src": "5319:18:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) view returns (bool)" } }, - "id": 373, + "id": 44322, "isConstant": false, "isLValue": false, "isPure": false, @@ -5417,7 +5417,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5319:41:0", + "src": "5319:41:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -5426,14 +5426,14 @@ }, { "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564", - "id": 374, + "id": 44323, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5362:47:0", + "src": "5362:47:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", "typeString": "literal_string \"ERC721: caller is not token owner or approved\"" @@ -5452,7 +5452,7 @@ "typeString": "literal_string \"ERC721: caller is not token owner or approved\"" } ], - "id": 368, + "id": 44317, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -5460,13 +5460,13 @@ -18 ], "referencedDeclaration": -18, - "src": "5311:7:0", + "src": "5311:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 375, + "id": 44324, "isConstant": false, "isLValue": false, "isPure": false, @@ -5475,63 +5475,63 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5311:99:0", + "src": "5311:99:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 376, + "id": 44325, "nodeType": "ExpressionStatement", - "src": "5311:99:0" + "src": "5311:99:26" }, { "expression": { "arguments": [ { - "id": 378, + "id": 44327, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 358, - "src": "5434:4:0", + "referencedDeclaration": 44307, + "src": "5434:4:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 379, + "id": 44328, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 360, - "src": "5440:2:0", + "referencedDeclaration": 44309, + "src": "5440:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 380, + "id": 44329, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 362, - "src": "5444:7:0", + "referencedDeclaration": 44311, + "src": "5444:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 381, + "id": 44330, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "5453:4:0", + "referencedDeclaration": 44313, + "src": "5453:4:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -5557,18 +5557,18 @@ "typeString": "bytes memory" } ], - "id": 377, + "id": 44326, "name": "_safeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "5420:13:0", + "referencedDeclaration": 44363, + "src": "5420:13:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,address,uint256,bytes memory)" } }, - "id": 382, + "id": 44331, "isConstant": false, "isLValue": false, "isPure": false, @@ -5577,26 +5577,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5420:38:0", + "src": "5420:38:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 383, + "id": 44332, "nodeType": "ExpressionStatement", - "src": "5420:38:0" + "src": "5420:38:26" } ] }, "baseFunctions": [ - 987 + 44936 ], "documentation": { - "id": 356, + "id": 44305, "nodeType": "StructuredDocumentation", - "src": "5129:55:0", + "src": "5129:55:26", "text": " @dev See {IERC721-safeTransferFrom}." }, "functionSelector": "b88d4fde", @@ -5604,26 +5604,26 @@ "kind": "function", "modifiers": [], "name": "safeTransferFrom", - "nameLocation": "5198:16:0", + "nameLocation": "5198:16:26", "overrides": { - "id": 366, + "id": 44315, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "5292:8:0" + "src": "5292:8:26" }, "parameters": { - "id": 365, + "id": 44314, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 358, + "id": 44307, "mutability": "mutable", "name": "from", - "nameLocation": "5223:4:0", + "nameLocation": "5223:4:26", "nodeType": "VariableDeclaration", - "scope": 385, - "src": "5215:12:0", + "scope": 44334, + "src": "5215:12:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5631,10 +5631,10 @@ "typeString": "address" }, "typeName": { - "id": 357, + "id": 44306, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5215:7:0", + "src": "5215:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5645,13 +5645,13 @@ }, { "constant": false, - "id": 360, + "id": 44309, "mutability": "mutable", "name": "to", - "nameLocation": "5237:2:0", + "nameLocation": "5237:2:26", "nodeType": "VariableDeclaration", - "scope": 385, - "src": "5229:10:0", + "scope": 44334, + "src": "5229:10:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5659,10 +5659,10 @@ "typeString": "address" }, "typeName": { - "id": 359, + "id": 44308, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5229:7:0", + "src": "5229:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5673,13 +5673,13 @@ }, { "constant": false, - "id": 362, + "id": 44311, "mutability": "mutable", "name": "tokenId", - "nameLocation": "5249:7:0", + "nameLocation": "5249:7:26", "nodeType": "VariableDeclaration", - "scope": 385, - "src": "5241:15:0", + "scope": 44334, + "src": "5241:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5687,10 +5687,10 @@ "typeString": "uint256" }, "typeName": { - "id": 361, + "id": 44310, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5241:7:0", + "src": "5241:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5700,13 +5700,13 @@ }, { "constant": false, - "id": 364, + "id": 44313, "mutability": "mutable", "name": "data", - "nameLocation": "5271:4:0", + "nameLocation": "5271:4:26", "nodeType": "VariableDeclaration", - "scope": 385, - "src": "5258:17:0", + "scope": 44334, + "src": "5258:17:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5714,10 +5714,10 @@ "typeString": "bytes" }, "typeName": { - "id": 363, + "id": 44312, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5258:5:0", + "src": "5258:5:26", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -5726,64 +5726,64 @@ "visibility": "internal" } ], - "src": "5214:62:0" + "src": "5214:62:26" }, "returnParameters": { - "id": 367, + "id": 44316, "nodeType": "ParameterList", "parameters": [], - "src": "5301:0:0" + "src": "5301:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 414, + "id": 44363, "nodeType": "FunctionDefinition", - "src": "6326:267:0", + "src": "6326:267:26", "nodes": [], "body": { - "id": 413, + "id": 44362, "nodeType": "Block", - "src": "6428:165:0", + "src": "6428:165:26", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 398, + "id": 44347, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 388, - "src": "6448:4:0", + "referencedDeclaration": 44337, + "src": "6448:4:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 399, + "id": 44348, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 390, - "src": "6454:2:0", + "referencedDeclaration": 44339, + "src": "6454:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 400, + "id": 44349, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "6458:7:0", + "referencedDeclaration": 44341, + "src": "6458:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5805,18 +5805,18 @@ "typeString": "uint256" } ], - "id": 397, + "id": 44346, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "6438:9:0", + "referencedDeclaration": 44701, + "src": "6438:9:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 401, + "id": 44350, "isConstant": false, "isLValue": false, "isPure": false, @@ -5825,16 +5825,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6438:28:0", + "src": "6438:28:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 402, + "id": 44351, "nodeType": "ExpressionStatement", - "src": "6438:28:0" + "src": "6438:28:26" }, { "expression": { @@ -5842,48 +5842,48 @@ { "arguments": [ { - "id": 405, + "id": 44354, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 388, - "src": "6507:4:0", + "referencedDeclaration": 44337, + "src": "6507:4:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 406, + "id": 44355, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 390, - "src": "6513:2:0", + "referencedDeclaration": 44339, + "src": "6513:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 407, + "id": 44356, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "6517:7:0", + "referencedDeclaration": 44341, + "src": "6517:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 408, + "id": 44357, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 394, - "src": "6526:4:0", + "referencedDeclaration": 44343, + "src": "6526:4:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -5909,18 +5909,18 @@ "typeString": "bytes memory" } ], - "id": 404, + "id": 44353, "name": "_checkOnERC721Received", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 884, - "src": "6484:22:0", + "referencedDeclaration": 44833, + "src": "6484:22:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,address,uint256,bytes memory) returns (bool)" } }, - "id": 409, + "id": 44358, "isConstant": false, "isLValue": false, "isPure": false, @@ -5929,7 +5929,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6484:47:0", + "src": "6484:47:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -5938,14 +5938,14 @@ }, { "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 410, + "id": 44359, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6533:52:0", + "src": "6533:52:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" @@ -5964,7 +5964,7 @@ "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" } ], - "id": 403, + "id": 44352, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -5972,13 +5972,13 @@ -18 ], "referencedDeclaration": -18, - "src": "6476:7:0", + "src": "6476:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 411, + "id": 44360, "isConstant": false, "isLValue": false, "isPure": false, @@ -5987,43 +5987,43 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6476:110:0", + "src": "6476:110:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 412, + "id": 44361, "nodeType": "ExpressionStatement", - "src": "6476:110:0" + "src": "6476:110:26" } ] }, "documentation": { - "id": 386, + "id": 44335, "nodeType": "StructuredDocumentation", - "src": "5471:850:0", + "src": "5471:850:26", "text": " @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n `data` is additional data, it has no specified format and it is sent in call to `to`.\n This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n implement alternative mechanisms to perform token transfer, such as signature-based.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_safeTransfer", - "nameLocation": "6335:13:0", + "nameLocation": "6335:13:26", "parameters": { - "id": 395, + "id": 44344, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 388, + "id": 44337, "mutability": "mutable", "name": "from", - "nameLocation": "6357:4:0", + "nameLocation": "6357:4:26", "nodeType": "VariableDeclaration", - "scope": 414, - "src": "6349:12:0", + "scope": 44363, + "src": "6349:12:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6031,10 +6031,10 @@ "typeString": "address" }, "typeName": { - "id": 387, + "id": 44336, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6349:7:0", + "src": "6349:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6045,13 +6045,13 @@ }, { "constant": false, - "id": 390, + "id": 44339, "mutability": "mutable", "name": "to", - "nameLocation": "6371:2:0", + "nameLocation": "6371:2:26", "nodeType": "VariableDeclaration", - "scope": 414, - "src": "6363:10:0", + "scope": 44363, + "src": "6363:10:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6059,10 +6059,10 @@ "typeString": "address" }, "typeName": { - "id": 389, + "id": 44338, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6363:7:0", + "src": "6363:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6073,13 +6073,13 @@ }, { "constant": false, - "id": 392, + "id": 44341, "mutability": "mutable", "name": "tokenId", - "nameLocation": "6383:7:0", + "nameLocation": "6383:7:26", "nodeType": "VariableDeclaration", - "scope": 414, - "src": "6375:15:0", + "scope": 44363, + "src": "6375:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6087,10 +6087,10 @@ "typeString": "uint256" }, "typeName": { - "id": 391, + "id": 44340, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6375:7:0", + "src": "6375:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6100,13 +6100,13 @@ }, { "constant": false, - "id": 394, + "id": 44343, "mutability": "mutable", "name": "data", - "nameLocation": "6405:4:0", + "nameLocation": "6405:4:26", "nodeType": "VariableDeclaration", - "scope": 414, - "src": "6392:17:0", + "scope": 44363, + "src": "6392:17:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6114,10 +6114,10 @@ "typeString": "bytes" }, "typeName": { - "id": 393, + "id": 44342, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6392:5:0", + "src": "6392:5:26", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -6126,52 +6126,52 @@ "visibility": "internal" } ], - "src": "6348:62:0" + "src": "6348:62:26" }, "returnParameters": { - "id": 396, + "id": 44345, "nodeType": "ParameterList", "parameters": [], - "src": "6428:0:0" + "src": "6428:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { - "id": 427, + "id": 44376, "nodeType": "FunctionDefinition", - "src": "6702:115:0", + "src": "6702:115:26", "nodes": [], "body": { - "id": 426, + "id": 44375, "nodeType": "Block", - "src": "6777:40:0", + "src": "6777:40:26", "nodes": [], "statements": [ { "expression": { "baseExpression": { - "id": 422, + "id": 44371, "name": "_owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 31, - "src": "6794:7:0", + "referencedDeclaration": 43980, + "src": "6794:7:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 424, + "id": 44373, "indexExpression": { - "id": 423, + "id": 44372, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 417, - "src": "6802:7:0", + "referencedDeclaration": 44366, + "src": "6802:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6182,43 +6182,43 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6794:16:0", + "src": "6794:16:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 421, - "id": 425, + "functionReturnParameters": 44370, + "id": 44374, "nodeType": "Return", - "src": "6787:23:0" + "src": "6787:23:26" } ] }, "documentation": { - "id": 415, + "id": 44364, "nodeType": "StructuredDocumentation", - "src": "6599:98:0", + "src": "6599:98:26", "text": " @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist" }, "implemented": true, "kind": "function", "modifiers": [], "name": "_ownerOf", - "nameLocation": "6711:8:0", + "nameLocation": "6711:8:26", "parameters": { - "id": 418, + "id": 44367, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 417, + "id": 44366, "mutability": "mutable", "name": "tokenId", - "nameLocation": "6728:7:0", + "nameLocation": "6728:7:26", "nodeType": "VariableDeclaration", - "scope": 427, - "src": "6720:15:0", + "scope": 44376, + "src": "6720:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6226,10 +6226,10 @@ "typeString": "uint256" }, "typeName": { - "id": 416, + "id": 44365, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6720:7:0", + "src": "6720:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6238,21 +6238,21 @@ "visibility": "internal" } ], - "src": "6719:17:0" + "src": "6719:17:26" }, "returnParameters": { - "id": 421, + "id": 44370, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 420, + "id": 44369, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 427, - "src": "6768:7:0", + "scope": 44376, + "src": "6768:7:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6260,10 +6260,10 @@ "typeString": "address" }, "typeName": { - "id": 419, + "id": 44368, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6768:7:0", + "src": "6768:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6273,22 +6273,22 @@ "visibility": "internal" } ], - "src": "6767:9:0" + "src": "6767:9:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "view", "virtual": true, "visibility": "internal" }, { - "id": 445, + "id": 44394, "nodeType": "FunctionDefinition", - "src": "7120:126:0", + "src": "7120:126:26", "nodes": [], "body": { - "id": 444, + "id": 44393, "nodeType": "Block", - "src": "7191:55:0", + "src": "7191:55:26", "nodes": [], "statements": [ { @@ -6297,7 +6297,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 442, + "id": 44391, "isConstant": false, "isLValue": false, "isPure": false, @@ -6305,12 +6305,12 @@ "leftExpression": { "arguments": [ { - "id": 436, + "id": 44385, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 430, - "src": "7217:7:0", + "referencedDeclaration": 44379, + "src": "7217:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6324,18 +6324,18 @@ "typeString": "uint256" } ], - "id": 435, + "id": 44384, "name": "_ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 427, - "src": "7208:8:0", + "referencedDeclaration": 44376, + "src": "7208:8:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 437, + "id": 44386, "isConstant": false, "isLValue": false, "isPure": false, @@ -6344,7 +6344,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7208:17:0", + "src": "7208:17:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -6357,14 +6357,14 @@ "arguments": [ { "hexValue": "30", - "id": 440, + "id": 44389, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7237:1:0", + "src": "7237:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -6379,26 +6379,26 @@ "typeString": "int_const 0" } ], - "id": 439, + "id": 44388, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7229:7:0", + "src": "7229:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 438, + "id": 44387, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7229:7:0", + "src": "7229:7:26", "typeDescriptions": {} } }, - "id": 441, + "id": 44390, "isConstant": false, "isLValue": false, "isPure": true, @@ -6407,50 +6407,50 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7229:10:0", + "src": "7229:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7208:31:0", + "src": "7208:31:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 434, - "id": 443, + "functionReturnParameters": 44383, + "id": 44392, "nodeType": "Return", - "src": "7201:38:0" + "src": "7201:38:26" } ] }, "documentation": { - "id": 428, + "id": 44377, "nodeType": "StructuredDocumentation", - "src": "6823:292:0", + "src": "6823:292:26", "text": " @dev Returns whether `tokenId` exists.\n Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n Tokens start existing when they are minted (`_mint`),\n and stop existing when they are burned (`_burn`)." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_exists", - "nameLocation": "7129:7:0", + "nameLocation": "7129:7:26", "parameters": { - "id": 431, + "id": 44380, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 430, + "id": 44379, "mutability": "mutable", "name": "tokenId", - "nameLocation": "7145:7:0", + "nameLocation": "7145:7:26", "nodeType": "VariableDeclaration", - "scope": 445, - "src": "7137:15:0", + "scope": 44394, + "src": "7137:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6458,10 +6458,10 @@ "typeString": "uint256" }, "typeName": { - "id": 429, + "id": 44378, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7137:7:0", + "src": "7137:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6470,21 +6470,21 @@ "visibility": "internal" } ], - "src": "7136:17:0" + "src": "7136:17:26" }, "returnParameters": { - "id": 434, + "id": 44383, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 433, + "id": 44382, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 445, - "src": "7185:4:0", + "scope": 44394, + "src": "7185:4:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6492,10 +6492,10 @@ "typeString": "bool" }, "typeName": { - "id": 432, + "id": 44381, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7185:4:0", + "src": "7185:4:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6504,38 +6504,38 @@ "visibility": "internal" } ], - "src": "7184:6:0" + "src": "7184:6:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "view", "virtual": true, "visibility": "internal" }, { - "id": 479, + "id": 44428, "nodeType": "FunctionDefinition", - "src": "7404:261:0", + "src": "7404:261:26", "nodes": [], "body": { - "id": 478, + "id": 44427, "nodeType": "Block", - "src": "7503:162:0", + "src": "7503:162:26", "nodes": [], "statements": [ { "assignments": [ - 456 + 44405 ], "declarations": [ { "constant": false, - "id": 456, + "id": 44405, "mutability": "mutable", "name": "owner", - "nameLocation": "7521:5:0", + "nameLocation": "7521:5:26", "nodeType": "VariableDeclaration", - "scope": 478, - "src": "7513:13:0", + "scope": 44427, + "src": "7513:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6543,10 +6543,10 @@ "typeString": "address" }, "typeName": { - "id": 455, + "id": 44404, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7513:7:0", + "src": "7513:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6556,16 +6556,16 @@ "visibility": "internal" } ], - "id": 461, + "id": 44410, "initialValue": { "arguments": [ { - "id": 459, + "id": 44408, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 450, - "src": "7544:7:0", + "referencedDeclaration": 44399, + "src": "7544:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6580,33 +6580,33 @@ } ], "expression": { - "id": 457, + "id": 44406, "name": "ERC721", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "7529:6:0", + "referencedDeclaration": 44875, + "src": "7529:6:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", + "typeIdentifier": "t_type$_t_contract$_ERC721_$44875_$", "typeString": "type(contract ERC721)" } }, - "id": 458, + "id": 44407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7536:7:0", + "memberLocation": "7536:7:26", "memberName": "ownerOf", "nodeType": "MemberAccess", - "referencedDeclaration": 145, - "src": "7529:14:0", + "referencedDeclaration": 44094, + "src": "7529:14:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 460, + "id": 44409, "isConstant": false, "isLValue": false, "isPure": false, @@ -6615,7 +6615,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7529:23:0", + "src": "7529:23:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -6623,7 +6623,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "7513:39:0" + "src": "7513:39:26" }, { "expression": { @@ -6633,7 +6633,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 475, + "id": 44424, "isConstant": false, "isLValue": false, "isPure": false, @@ -6643,7 +6643,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 469, + "id": 44418, "isConstant": false, "isLValue": false, "isPure": false, @@ -6653,18 +6653,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 464, + "id": 44413, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 462, + "id": 44411, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 448, - "src": "7570:7:0", + "referencedDeclaration": 44397, + "src": "7570:7:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6673,18 +6673,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 463, + "id": 44412, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 456, - "src": "7581:5:0", + "referencedDeclaration": 44405, + "src": "7581:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7570:16:0", + "src": "7570:16:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6695,24 +6695,24 @@ "rightExpression": { "arguments": [ { - "id": 466, + "id": 44415, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 456, - "src": "7607:5:0", + "referencedDeclaration": 44405, + "src": "7607:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 467, + "id": 44416, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 448, - "src": "7614:7:0", + "referencedDeclaration": 44397, + "src": "7614:7:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6730,18 +6730,18 @@ "typeString": "address" } ], - "id": 465, + "id": 44414, "name": "isApprovedForAll", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "7590:16:0", + "referencedDeclaration": 44258, + "src": "7590:16:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", "typeString": "function (address,address) view returns (bool)" } }, - "id": 468, + "id": 44417, "isConstant": false, "isLValue": false, "isPure": false, @@ -6750,14 +6750,14 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7590:32:0", + "src": "7590:32:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "7570:52:0", + "src": "7570:52:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6770,7 +6770,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 474, + "id": 44423, "isConstant": false, "isLValue": false, "isPure": false, @@ -6778,12 +6778,12 @@ "leftExpression": { "arguments": [ { - "id": 471, + "id": 44420, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 450, - "src": "7638:7:0", + "referencedDeclaration": 44399, + "src": "7638:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6797,18 +6797,18 @@ "typeString": "uint256" } ], - "id": 470, + "id": 44419, "name": "getApproved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 274, - "src": "7626:11:0", + "referencedDeclaration": 44223, + "src": "7626:11:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 472, + "id": 44421, "isConstant": false, "isLValue": false, "isPure": false, @@ -6817,7 +6817,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7626:20:0", + "src": "7626:20:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -6827,74 +6827,74 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 473, + "id": 44422, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 448, - "src": "7650:7:0", + "referencedDeclaration": 44397, + "src": "7650:7:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7626:31:0", + "src": "7626:31:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "7570:87:0", + "src": "7570:87:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 476, + "id": 44425, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7569:89:0", + "src": "7569:89:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 454, - "id": 477, + "functionReturnParameters": 44403, + "id": 44426, "nodeType": "Return", - "src": "7562:96:0" + "src": "7562:96:26" } ] }, "documentation": { - "id": 446, + "id": 44395, "nodeType": "StructuredDocumentation", - "src": "7252:147:0", + "src": "7252:147:26", "text": " @dev Returns whether `spender` is allowed to manage `tokenId`.\n Requirements:\n - `tokenId` must exist." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_isApprovedOrOwner", - "nameLocation": "7413:18:0", + "nameLocation": "7413:18:26", "parameters": { - "id": 451, + "id": 44400, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 448, + "id": 44397, "mutability": "mutable", "name": "spender", - "nameLocation": "7440:7:0", + "nameLocation": "7440:7:26", "nodeType": "VariableDeclaration", - "scope": 479, - "src": "7432:15:0", + "scope": 44428, + "src": "7432:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6902,10 +6902,10 @@ "typeString": "address" }, "typeName": { - "id": 447, + "id": 44396, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7432:7:0", + "src": "7432:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6916,13 +6916,13 @@ }, { "constant": false, - "id": 450, + "id": 44399, "mutability": "mutable", "name": "tokenId", - "nameLocation": "7457:7:0", + "nameLocation": "7457:7:26", "nodeType": "VariableDeclaration", - "scope": 479, - "src": "7449:15:0", + "scope": 44428, + "src": "7449:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6930,10 +6930,10 @@ "typeString": "uint256" }, "typeName": { - "id": 449, + "id": 44398, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7449:7:0", + "src": "7449:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6942,21 +6942,21 @@ "visibility": "internal" } ], - "src": "7431:34:0" + "src": "7431:34:26" }, "returnParameters": { - "id": 454, + "id": 44403, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 453, + "id": 44402, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 479, - "src": "7497:4:0", + "scope": 44428, + "src": "7497:4:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6964,10 +6964,10 @@ "typeString": "bool" }, "typeName": { - "id": 452, + "id": 44401, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7497:4:0", + "src": "7497:4:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6976,46 +6976,46 @@ "visibility": "internal" } ], - "src": "7496:6:0" + "src": "7496:6:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "view", "virtual": true, "visibility": "internal" }, { - "id": 494, + "id": 44443, "nodeType": "FunctionDefinition", - "src": "7995:108:0", + "src": "7995:108:26", "nodes": [], "body": { - "id": 493, + "id": 44442, "nodeType": "Block", - "src": "8060:43:0", + "src": "8060:43:26", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 488, + "id": 44437, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 482, - "src": "8080:2:0", + "referencedDeclaration": 44431, + "src": "8080:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 489, + "id": 44438, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8084:7:0", + "referencedDeclaration": 44433, + "src": "8084:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7023,14 +7023,14 @@ }, { "hexValue": "", - "id": 490, + "id": 44439, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8093:2:0", + "src": "8093:2:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" @@ -7053,21 +7053,21 @@ "typeString": "literal_string \"\"" } ], - "id": 487, + "id": 44436, "name": "_safeMint", "nodeType": "Identifier", "overloadedDeclarations": [ - 494, - 523 + 44443, + 44472 ], - "referencedDeclaration": 523, - "src": "8070:9:0", + "referencedDeclaration": 44472, + "src": "8070:9:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes memory)" } }, - "id": 491, + "id": 44440, "isConstant": false, "isLValue": false, "isPure": false, @@ -7076,43 +7076,43 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8070:26:0", + "src": "8070:26:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 492, + "id": 44441, "nodeType": "ExpressionStatement", - "src": "8070:26:0" + "src": "8070:26:26" } ] }, "documentation": { - "id": 480, + "id": 44429, "nodeType": "StructuredDocumentation", - "src": "7671:319:0", + "src": "7671:319:26", "text": " @dev Safely mints `tokenId` and transfers it to `to`.\n Requirements:\n - `tokenId` must not exist.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_safeMint", - "nameLocation": "8004:9:0", + "nameLocation": "8004:9:26", "parameters": { - "id": 485, + "id": 44434, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 482, + "id": 44431, "mutability": "mutable", "name": "to", - "nameLocation": "8022:2:0", + "nameLocation": "8022:2:26", "nodeType": "VariableDeclaration", - "scope": 494, - "src": "8014:10:0", + "scope": 44443, + "src": "8014:10:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7120,10 +7120,10 @@ "typeString": "address" }, "typeName": { - "id": 481, + "id": 44430, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8014:7:0", + "src": "8014:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7134,13 +7134,13 @@ }, { "constant": false, - "id": 484, + "id": 44433, "mutability": "mutable", "name": "tokenId", - "nameLocation": "8034:7:0", + "nameLocation": "8034:7:26", "nodeType": "VariableDeclaration", - "scope": 494, - "src": "8026:15:0", + "scope": 44443, + "src": "8026:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7148,10 +7148,10 @@ "typeString": "uint256" }, "typeName": { - "id": 483, + "id": 44432, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8026:7:0", + "src": "8026:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7160,52 +7160,52 @@ "visibility": "internal" } ], - "src": "8013:29:0" + "src": "8013:29:26" }, "returnParameters": { - "id": 486, + "id": 44435, "nodeType": "ParameterList", "parameters": [], - "src": "8060:0:0" + "src": "8060:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { - "id": 523, + "id": 44472, "nodeType": "FunctionDefinition", - "src": "8324:279:0", + "src": "8324:279:26", "nodes": [], "body": { - "id": 522, + "id": 44471, "nodeType": "Block", - "src": "8408:195:0", + "src": "8408:195:26", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 505, + "id": 44454, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 497, - "src": "8424:2:0", + "referencedDeclaration": 44446, + "src": "8424:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 506, + "id": 44455, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 499, - "src": "8428:7:0", + "referencedDeclaration": 44448, + "src": "8428:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7223,18 +7223,18 @@ "typeString": "uint256" } ], - "id": 504, + "id": 44453, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 600, - "src": "8418:5:0", + "referencedDeclaration": 44549, + "src": "8418:5:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 507, + "id": 44456, "isConstant": false, "isLValue": false, "isPure": false, @@ -7243,16 +7243,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8418:18:0", + "src": "8418:18:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 508, + "id": 44457, "nodeType": "ExpressionStatement", - "src": "8418:18:0" + "src": "8418:18:26" }, { "expression": { @@ -7263,14 +7263,14 @@ "arguments": [ { "hexValue": "30", - "id": 513, + "id": 44462, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8498:1:0", + "src": "8498:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -7285,26 +7285,26 @@ "typeString": "int_const 0" } ], - "id": 512, + "id": 44461, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8490:7:0", + "src": "8490:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 511, + "id": 44460, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8490:7:0", + "src": "8490:7:26", "typeDescriptions": {} } }, - "id": 514, + "id": 44463, "isConstant": false, "isLValue": false, "isPure": true, @@ -7313,7 +7313,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8490:10:0", + "src": "8490:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -7321,36 +7321,36 @@ } }, { - "id": 515, + "id": 44464, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 497, - "src": "8502:2:0", + "referencedDeclaration": 44446, + "src": "8502:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 516, + "id": 44465, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 499, - "src": "8506:7:0", + "referencedDeclaration": 44448, + "src": "8506:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 517, + "id": 44466, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "8515:4:0", + "referencedDeclaration": 44450, + "src": "8515:4:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -7376,18 +7376,18 @@ "typeString": "bytes memory" } ], - "id": 510, + "id": 44459, "name": "_checkOnERC721Received", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 884, - "src": "8467:22:0", + "referencedDeclaration": 44833, + "src": "8467:22:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,address,uint256,bytes memory) returns (bool)" } }, - "id": 518, + "id": 44467, "isConstant": false, "isLValue": false, "isPure": false, @@ -7396,7 +7396,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8467:53:0", + "src": "8467:53:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -7405,14 +7405,14 @@ }, { "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 519, + "id": 44468, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8534:52:0", + "src": "8534:52:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" @@ -7431,7 +7431,7 @@ "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" } ], - "id": 509, + "id": 44458, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -7439,13 +7439,13 @@ -18 ], "referencedDeclaration": -18, - "src": "8446:7:0", + "src": "8446:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 520, + "id": 44469, "isConstant": false, "isLValue": false, "isPure": false, @@ -7454,43 +7454,43 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8446:150:0", + "src": "8446:150:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 521, + "id": 44470, "nodeType": "ExpressionStatement", - "src": "8446:150:0" + "src": "8446:150:26" } ] }, "documentation": { - "id": 495, + "id": 44444, "nodeType": "StructuredDocumentation", - "src": "8109:210:0", + "src": "8109:210:26", "text": " @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n forwarded in {IERC721Receiver-onERC721Received} to contract recipients." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_safeMint", - "nameLocation": "8333:9:0", + "nameLocation": "8333:9:26", "parameters": { - "id": 502, + "id": 44451, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 497, + "id": 44446, "mutability": "mutable", "name": "to", - "nameLocation": "8351:2:0", + "nameLocation": "8351:2:26", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "8343:10:0", + "scope": 44472, + "src": "8343:10:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7498,10 +7498,10 @@ "typeString": "address" }, "typeName": { - "id": 496, + "id": 44445, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8343:7:0", + "src": "8343:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7512,13 +7512,13 @@ }, { "constant": false, - "id": 499, + "id": 44448, "mutability": "mutable", "name": "tokenId", - "nameLocation": "8363:7:0", + "nameLocation": "8363:7:26", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "8355:15:0", + "scope": 44472, + "src": "8355:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7526,10 +7526,10 @@ "typeString": "uint256" }, "typeName": { - "id": 498, + "id": 44447, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8355:7:0", + "src": "8355:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7539,13 +7539,13 @@ }, { "constant": false, - "id": 501, + "id": 44450, "mutability": "mutable", "name": "data", - "nameLocation": "8385:4:0", + "nameLocation": "8385:4:26", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "8372:17:0", + "scope": 44472, + "src": "8372:17:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7553,10 +7553,10 @@ "typeString": "bytes" }, "typeName": { - "id": 500, + "id": 44449, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8372:5:0", + "src": "8372:5:26", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -7565,28 +7565,28 @@ "visibility": "internal" } ], - "src": "8342:48:0" + "src": "8342:48:26" }, "returnParameters": { - "id": 503, + "id": 44452, "nodeType": "ParameterList", "parameters": [], - "src": "8408:0:0" + "src": "8408:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { - "id": 600, + "id": 44549, "nodeType": "FunctionDefinition", - "src": "8925:920:0", + "src": "8925:920:26", "nodes": [], "body": { - "id": 599, + "id": 44548, "nodeType": "Block", - "src": "8986:859:0", + "src": "8986:859:26", "nodes": [], "statements": [ { @@ -7597,18 +7597,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 537, + "id": 44486, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 532, + "id": 44481, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 526, - "src": "9004:2:0", + "referencedDeclaration": 44475, + "src": "9004:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7620,14 +7620,14 @@ "arguments": [ { "hexValue": "30", - "id": 535, + "id": 44484, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9018:1:0", + "src": "9018:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -7642,26 +7642,26 @@ "typeString": "int_const 0" } ], - "id": 534, + "id": 44483, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9010:7:0", + "src": "9010:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 533, + "id": 44482, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9010:7:0", + "src": "9010:7:26", "typeDescriptions": {} } }, - "id": 536, + "id": 44485, "isConstant": false, "isLValue": false, "isPure": true, @@ -7670,14 +7670,14 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9010:10:0", + "src": "9010:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "9004:16:0", + "src": "9004:16:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7685,14 +7685,14 @@ }, { "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", - "id": 538, + "id": 44487, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9022:34:0", + "src": "9022:34:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", "typeString": "literal_string \"ERC721: mint to the zero address\"" @@ -7711,7 +7711,7 @@ "typeString": "literal_string \"ERC721: mint to the zero address\"" } ], - "id": 531, + "id": 44480, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -7719,13 +7719,13 @@ -18 ], "referencedDeclaration": -18, - "src": "8996:7:0", + "src": "8996:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 539, + "id": 44488, "isConstant": false, "isLValue": false, "isPure": false, @@ -7734,22 +7734,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8996:61:0", + "src": "8996:61:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 540, + "id": 44489, "nodeType": "ExpressionStatement", - "src": "8996:61:0" + "src": "8996:61:26" }, { "expression": { "arguments": [ { - "id": 545, + "id": 44494, "isConstant": false, "isLValue": false, "isPure": false, @@ -7757,16 +7757,16 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "9075:17:0", + "src": "9075:17:26", "subExpression": { "arguments": [ { - "id": 543, + "id": 44492, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "9084:7:0", + "referencedDeclaration": 44477, + "src": "9084:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7780,18 +7780,18 @@ "typeString": "uint256" } ], - "id": 542, + "id": 44491, "name": "_exists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 445, - "src": "9076:7:0", + "referencedDeclaration": 44394, + "src": "9076:7:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 544, + "id": 44493, "isConstant": false, "isLValue": false, "isPure": false, @@ -7800,7 +7800,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9076:16:0", + "src": "9076:16:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -7814,14 +7814,14 @@ }, { "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "id": 546, + "id": 44495, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9094:30:0", + "src": "9094:30:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", "typeString": "literal_string \"ERC721: token already minted\"" @@ -7840,7 +7840,7 @@ "typeString": "literal_string \"ERC721: token already minted\"" } ], - "id": 541, + "id": 44490, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -7848,13 +7848,13 @@ -18 ], "referencedDeclaration": -18, - "src": "9067:7:0", + "src": "9067:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 547, + "id": 44496, "isConstant": false, "isLValue": false, "isPure": false, @@ -7863,16 +7863,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9067:58:0", + "src": "9067:58:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 548, + "id": 44497, "nodeType": "ExpressionStatement", - "src": "9067:58:0" + "src": "9067:58:26" }, { "expression": { @@ -7881,14 +7881,14 @@ "arguments": [ { "hexValue": "30", - "id": 552, + "id": 44501, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9165:1:0", + "src": "9165:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -7903,26 +7903,26 @@ "typeString": "int_const 0" } ], - "id": 551, + "id": 44500, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9157:7:0", + "src": "9157:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 550, + "id": 44499, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9157:7:0", + "src": "9157:7:26", "typeDescriptions": {} } }, - "id": 553, + "id": 44502, "isConstant": false, "isLValue": false, "isPure": true, @@ -7931,7 +7931,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9157:10:0", + "src": "9157:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -7939,24 +7939,24 @@ } }, { - "id": 554, + "id": 44503, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 526, - "src": "9169:2:0", + "referencedDeclaration": 44475, + "src": "9169:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 555, + "id": 44504, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "9173:7:0", + "referencedDeclaration": 44477, + "src": "9173:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7964,14 +7964,14 @@ }, { "hexValue": "31", - "id": 556, + "id": 44505, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9182:1:0", + "src": "9182:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -7998,18 +7998,18 @@ "typeString": "int_const 1" } ], - "id": 549, + "id": 44498, "name": "_beforeTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "9136:20:0", + "referencedDeclaration": 44846, + "src": "9136:20:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256)" } }, - "id": 557, + "id": 44506, "isConstant": false, "isLValue": false, "isPure": false, @@ -8018,22 +8018,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9136:48:0", + "src": "9136:48:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 558, + "id": 44507, "nodeType": "ExpressionStatement", - "src": "9136:48:0" + "src": "9136:48:26" }, { "expression": { "arguments": [ { - "id": 563, + "id": 44512, "isConstant": false, "isLValue": false, "isPure": false, @@ -8041,16 +8041,16 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "9279:17:0", + "src": "9279:17:26", "subExpression": { "arguments": [ { - "id": 561, + "id": 44510, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "9288:7:0", + "referencedDeclaration": 44477, + "src": "9288:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8064,18 +8064,18 @@ "typeString": "uint256" } ], - "id": 560, + "id": 44509, "name": "_exists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 445, - "src": "9280:7:0", + "referencedDeclaration": 44394, + "src": "9280:7:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 562, + "id": 44511, "isConstant": false, "isLValue": false, "isPure": false, @@ -8084,7 +8084,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9280:16:0", + "src": "9280:16:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8098,14 +8098,14 @@ }, { "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "id": 564, + "id": 44513, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9298:30:0", + "src": "9298:30:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", "typeString": "literal_string \"ERC721: token already minted\"" @@ -8124,7 +8124,7 @@ "typeString": "literal_string \"ERC721: token already minted\"" } ], - "id": 559, + "id": 44508, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -8132,13 +8132,13 @@ -18 ], "referencedDeclaration": -18, - "src": "9271:7:0", + "src": "9271:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 565, + "id": 44514, "isConstant": false, "isLValue": false, "isPure": false, @@ -8147,50 +8147,50 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9271:58:0", + "src": "9271:58:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 566, + "id": 44515, "nodeType": "ExpressionStatement", - "src": "9271:58:0" + "src": "9271:58:26" }, { - "id": 573, + "id": 44522, "nodeType": "UncheckedBlock", - "src": "9340:360:0", + "src": "9340:360:26", "statements": [ { "expression": { - "id": 571, + "id": 44520, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 567, + "id": 44516, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "9671:9:0", + "referencedDeclaration": 43984, + "src": "9671:9:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 569, + "id": 44518, "indexExpression": { - "id": 568, + "id": 44517, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 526, - "src": "9681:2:0", + "referencedDeclaration": 44475, + "src": "9681:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8201,7 +8201,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9671:13:0", + "src": "9671:13:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8211,60 +8211,60 @@ "operator": "+=", "rightHandSide": { "hexValue": "31", - "id": 570, + "id": 44519, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9688:1:0", + "src": "9688:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "9671:18:0", + "src": "9671:18:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 572, + "id": 44521, "nodeType": "ExpressionStatement", - "src": "9671:18:0" + "src": "9671:18:26" } ] }, { "expression": { - "id": 578, + "id": 44527, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 574, + "id": 44523, "name": "_owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 31, - "src": "9710:7:0", + "referencedDeclaration": 43980, + "src": "9710:7:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 576, + "id": 44525, "indexExpression": { - "id": 575, + "id": 44524, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "9718:7:0", + "referencedDeclaration": 44477, + "src": "9718:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8275,7 +8275,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9710:16:0", + "src": "9710:16:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8284,26 +8284,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 577, + "id": 44526, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 526, - "src": "9729:2:0", + "referencedDeclaration": 44475, + "src": "9729:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "9710:21:0", + "src": "9710:21:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 579, + "id": 44528, "nodeType": "ExpressionStatement", - "src": "9710:21:0" + "src": "9710:21:26" }, { "eventCall": { @@ -8312,14 +8312,14 @@ "arguments": [ { "hexValue": "30", - "id": 583, + "id": 44532, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9764:1:0", + "src": "9764:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -8334,26 +8334,26 @@ "typeString": "int_const 0" } ], - "id": 582, + "id": 44531, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9756:7:0", + "src": "9756:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 581, + "id": 44530, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9756:7:0", + "src": "9756:7:26", "typeDescriptions": {} } }, - "id": 584, + "id": 44533, "isConstant": false, "isLValue": false, "isPure": true, @@ -8362,7 +8362,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9756:10:0", + "src": "9756:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -8370,24 +8370,24 @@ } }, { - "id": 585, + "id": 44534, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 526, - "src": "9768:2:0", + "referencedDeclaration": 44475, + "src": "9768:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 586, + "id": 44535, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "9772:7:0", + "referencedDeclaration": 44477, + "src": "9772:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8409,18 +8409,18 @@ "typeString": "uint256" } ], - "id": 580, + "id": 44529, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "9747:8:0", + "referencedDeclaration": 44890, + "src": "9747:8:26", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 587, + "id": 44536, "isConstant": false, "isLValue": false, "isPure": false, @@ -8429,16 +8429,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9747:33:0", + "src": "9747:33:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 588, + "id": 44537, "nodeType": "EmitStatement", - "src": "9742:38:0" + "src": "9742:38:26" }, { "expression": { @@ -8447,14 +8447,14 @@ "arguments": [ { "hexValue": "30", - "id": 592, + "id": 44541, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9819:1:0", + "src": "9819:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -8469,26 +8469,26 @@ "typeString": "int_const 0" } ], - "id": 591, + "id": 44540, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9811:7:0", + "src": "9811:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 590, + "id": 44539, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9811:7:0", + "src": "9811:7:26", "typeDescriptions": {} } }, - "id": 593, + "id": 44542, "isConstant": false, "isLValue": false, "isPure": true, @@ -8497,7 +8497,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9811:10:0", + "src": "9811:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -8505,24 +8505,24 @@ } }, { - "id": 594, + "id": 44543, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 526, - "src": "9823:2:0", + "referencedDeclaration": 44475, + "src": "9823:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 595, + "id": 44544, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "9827:7:0", + "referencedDeclaration": 44477, + "src": "9827:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8530,14 +8530,14 @@ }, { "hexValue": "31", - "id": 596, + "id": 44545, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9836:1:0", + "src": "9836:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -8564,18 +8564,18 @@ "typeString": "int_const 1" } ], - "id": 589, + "id": 44538, "name": "_afterTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "9791:19:0", + "referencedDeclaration": 44859, + "src": "9791:19:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256)" } }, - "id": 597, + "id": 44546, "isConstant": false, "isLValue": false, "isPure": false, @@ -8584,43 +8584,43 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9791:47:0", + "src": "9791:47:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 598, + "id": 44547, "nodeType": "ExpressionStatement", - "src": "9791:47:0" + "src": "9791:47:26" } ] }, "documentation": { - "id": 524, + "id": 44473, "nodeType": "StructuredDocumentation", - "src": "8609:311:0", + "src": "8609:311:26", "text": " @dev Mints `tokenId` and transfers it to `to`.\n WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n Requirements:\n - `tokenId` must not exist.\n - `to` cannot be the zero address.\n Emits a {Transfer} event." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_mint", - "nameLocation": "8934:5:0", + "nameLocation": "8934:5:26", "parameters": { - "id": 529, + "id": 44478, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 526, + "id": 44475, "mutability": "mutable", "name": "to", - "nameLocation": "8948:2:0", + "nameLocation": "8948:2:26", "nodeType": "VariableDeclaration", - "scope": 600, - "src": "8940:10:0", + "scope": 44549, + "src": "8940:10:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8628,10 +8628,10 @@ "typeString": "address" }, "typeName": { - "id": 525, + "id": 44474, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8940:7:0", + "src": "8940:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8642,13 +8642,13 @@ }, { "constant": false, - "id": 528, + "id": 44477, "mutability": "mutable", "name": "tokenId", - "nameLocation": "8960:7:0", + "nameLocation": "8960:7:26", "nodeType": "VariableDeclaration", - "scope": 600, - "src": "8952:15:0", + "scope": 44549, + "src": "8952:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8656,10 +8656,10 @@ "typeString": "uint256" }, "typeName": { - "id": 527, + "id": 44476, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8952:7:0", + "src": "8952:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8668,44 +8668,44 @@ "visibility": "internal" } ], - "src": "8939:29:0" + "src": "8939:29:26" }, "returnParameters": { - "id": 530, + "id": 44479, "nodeType": "ParameterList", "parameters": [], - "src": "8986:0:0" + "src": "8986:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { - "id": 667, + "id": 44616, "nodeType": "FunctionDefinition", - "src": "10171:762:0", + "src": "10171:762:26", "nodes": [], "body": { - "id": 666, + "id": 44615, "nodeType": "Block", - "src": "10220:713:0", + "src": "10220:713:26", "nodes": [], "statements": [ { "assignments": [ - 607 + 44556 ], "declarations": [ { "constant": false, - "id": 607, + "id": 44556, "mutability": "mutable", "name": "owner", - "nameLocation": "10238:5:0", + "nameLocation": "10238:5:26", "nodeType": "VariableDeclaration", - "scope": 666, - "src": "10230:13:0", + "scope": 44615, + "src": "10230:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8713,10 +8713,10 @@ "typeString": "address" }, "typeName": { - "id": 606, + "id": 44555, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10230:7:0", + "src": "10230:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8726,16 +8726,16 @@ "visibility": "internal" } ], - "id": 612, + "id": 44561, "initialValue": { "arguments": [ { - "id": 610, + "id": 44559, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "10261:7:0", + "referencedDeclaration": 44552, + "src": "10261:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8750,33 +8750,33 @@ } ], "expression": { - "id": 608, + "id": 44557, "name": "ERC721", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "10246:6:0", + "referencedDeclaration": 44875, + "src": "10246:6:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", + "typeIdentifier": "t_type$_t_contract$_ERC721_$44875_$", "typeString": "type(contract ERC721)" } }, - "id": 609, + "id": 44558, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "10253:7:0", + "memberLocation": "10253:7:26", "memberName": "ownerOf", "nodeType": "MemberAccess", - "referencedDeclaration": 145, - "src": "10246:14:0", + "referencedDeclaration": 44094, + "src": "10246:14:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 611, + "id": 44560, "isConstant": false, "isLValue": false, "isPure": false, @@ -8785,7 +8785,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10246:23:0", + "src": "10246:23:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -8793,18 +8793,18 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "10230:39:0" + "src": "10230:39:26" }, { "expression": { "arguments": [ { - "id": 614, + "id": 44563, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "10301:5:0", + "referencedDeclaration": 44556, + "src": "10301:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8814,14 +8814,14 @@ "arguments": [ { "hexValue": "30", - "id": 617, + "id": 44566, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10316:1:0", + "src": "10316:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -8836,26 +8836,26 @@ "typeString": "int_const 0" } ], - "id": 616, + "id": 44565, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "10308:7:0", + "src": "10308:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 615, + "id": 44564, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10308:7:0", + "src": "10308:7:26", "typeDescriptions": {} } }, - "id": 618, + "id": 44567, "isConstant": false, "isLValue": false, "isPure": true, @@ -8864,7 +8864,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10308:10:0", + "src": "10308:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -8872,12 +8872,12 @@ } }, { - "id": 619, + "id": 44568, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "10320:7:0", + "referencedDeclaration": 44552, + "src": "10320:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8885,14 +8885,14 @@ }, { "hexValue": "31", - "id": 620, + "id": 44569, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10329:1:0", + "src": "10329:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -8919,18 +8919,18 @@ "typeString": "int_const 1" } ], - "id": 613, + "id": 44562, "name": "_beforeTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "10280:20:0", + "referencedDeclaration": 44846, + "src": "10280:20:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256)" } }, - "id": 621, + "id": 44570, "isConstant": false, "isLValue": false, "isPure": false, @@ -8939,31 +8939,31 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10280:51:0", + "src": "10280:51:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 622, + "id": 44571, "nodeType": "ExpressionStatement", - "src": "10280:51:0" + "src": "10280:51:26" }, { "expression": { - "id": 628, + "id": 44577, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 623, + "id": 44572, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "10433:5:0", + "referencedDeclaration": 44556, + "src": "10433:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8974,12 +8974,12 @@ "rightHandSide": { "arguments": [ { - "id": 626, + "id": 44575, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "10456:7:0", + "referencedDeclaration": 44552, + "src": "10456:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8994,33 +8994,33 @@ } ], "expression": { - "id": 624, + "id": 44573, "name": "ERC721", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "10441:6:0", + "referencedDeclaration": 44875, + "src": "10441:6:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", + "typeIdentifier": "t_type$_t_contract$_ERC721_$44875_$", "typeString": "type(contract ERC721)" } }, - "id": 625, + "id": 44574, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "10448:7:0", + "memberLocation": "10448:7:26", "memberName": "ownerOf", "nodeType": "MemberAccess", - "referencedDeclaration": 145, - "src": "10441:14:0", + "referencedDeclaration": 44094, + "src": "10441:14:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 627, + "id": 44576, "isConstant": false, "isLValue": false, "isPure": false, @@ -9029,26 +9029,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10441:23:0", + "src": "10441:23:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "10433:31:0", + "src": "10433:31:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 629, + "id": 44578, "nodeType": "ExpressionStatement", - "src": "10433:31:0" + "src": "10433:31:26" }, { "expression": { - "id": 633, + "id": 44582, "isConstant": false, "isLValue": false, "isPure": false, @@ -9056,28 +9056,28 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "10502:31:0", + "src": "10502:31:26", "subExpression": { "baseExpression": { - "id": 630, + "id": 44579, "name": "_tokenApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 39, - "src": "10509:15:0", + "referencedDeclaration": 43988, + "src": "10509:15:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 632, + "id": 44581, "indexExpression": { - "id": 631, + "id": 44580, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "10525:7:0", + "referencedDeclaration": 44552, + "src": "10525:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9088,7 +9088,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "10509:24:0", + "src": "10509:24:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9099,43 +9099,43 @@ "typeString": "tuple()" } }, - "id": 634, + "id": 44583, "nodeType": "ExpressionStatement", - "src": "10502:31:0" + "src": "10502:31:26" }, { - "id": 641, + "id": 44590, "nodeType": "UncheckedBlock", - "src": "10544:237:0", + "src": "10544:237:26", "statements": [ { "expression": { - "id": 639, + "id": 44588, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 635, + "id": 44584, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "10749:9:0", + "referencedDeclaration": 43984, + "src": "10749:9:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 637, + "id": 44586, "indexExpression": { - "id": 636, + "id": 44585, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "10759:5:0", + "referencedDeclaration": 44556, + "src": "10759:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9146,7 +9146,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "10749:16:0", + "src": "10749:16:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9156,35 +9156,35 @@ "operator": "-=", "rightHandSide": { "hexValue": "31", - "id": 638, + "id": 44587, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10769:1:0", + "src": "10769:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "10749:21:0", + "src": "10749:21:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 640, + "id": 44589, "nodeType": "ExpressionStatement", - "src": "10749:21:0" + "src": "10749:21:26" } ] }, { "expression": { - "id": 645, + "id": 44594, "isConstant": false, "isLValue": false, "isPure": false, @@ -9192,28 +9192,28 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "10790:23:0", + "src": "10790:23:26", "subExpression": { "baseExpression": { - "id": 642, + "id": 44591, "name": "_owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 31, - "src": "10797:7:0", + "referencedDeclaration": 43980, + "src": "10797:7:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 644, + "id": 44593, "indexExpression": { - "id": 643, + "id": 44592, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "10805:7:0", + "referencedDeclaration": 44552, + "src": "10805:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9224,7 +9224,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "10797:16:0", + "src": "10797:16:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9235,20 +9235,20 @@ "typeString": "tuple()" } }, - "id": 646, + "id": 44595, "nodeType": "ExpressionStatement", - "src": "10790:23:0" + "src": "10790:23:26" }, { "eventCall": { "arguments": [ { - "id": 648, + "id": 44597, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "10838:5:0", + "referencedDeclaration": 44556, + "src": "10838:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9258,14 +9258,14 @@ "arguments": [ { "hexValue": "30", - "id": 651, + "id": 44600, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10853:1:0", + "src": "10853:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -9280,26 +9280,26 @@ "typeString": "int_const 0" } ], - "id": 650, + "id": 44599, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "10845:7:0", + "src": "10845:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 649, + "id": 44598, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10845:7:0", + "src": "10845:7:26", "typeDescriptions": {} } }, - "id": 652, + "id": 44601, "isConstant": false, "isLValue": false, "isPure": true, @@ -9308,7 +9308,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10845:10:0", + "src": "10845:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -9316,12 +9316,12 @@ } }, { - "id": 653, + "id": 44602, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "10857:7:0", + "referencedDeclaration": 44552, + "src": "10857:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9343,18 +9343,18 @@ "typeString": "uint256" } ], - "id": 647, + "id": 44596, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "10829:8:0", + "referencedDeclaration": 44890, + "src": "10829:8:26", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 654, + "id": 44603, "isConstant": false, "isLValue": false, "isPure": false, @@ -9363,27 +9363,27 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10829:36:0", + "src": "10829:36:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 655, + "id": 44604, "nodeType": "EmitStatement", - "src": "10824:41:0" + "src": "10824:41:26" }, { "expression": { "arguments": [ { - "id": 657, + "id": 44606, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "10896:5:0", + "referencedDeclaration": 44556, + "src": "10896:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9393,14 +9393,14 @@ "arguments": [ { "hexValue": "30", - "id": 660, + "id": 44609, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10911:1:0", + "src": "10911:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -9415,26 +9415,26 @@ "typeString": "int_const 0" } ], - "id": 659, + "id": 44608, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "10903:7:0", + "src": "10903:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 658, + "id": 44607, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10903:7:0", + "src": "10903:7:26", "typeDescriptions": {} } }, - "id": 661, + "id": 44610, "isConstant": false, "isLValue": false, "isPure": true, @@ -9443,7 +9443,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10903:10:0", + "src": "10903:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -9451,12 +9451,12 @@ } }, { - "id": 662, + "id": 44611, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "10915:7:0", + "referencedDeclaration": 44552, + "src": "10915:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9464,14 +9464,14 @@ }, { "hexValue": "31", - "id": 663, + "id": 44612, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10924:1:0", + "src": "10924:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -9498,18 +9498,18 @@ "typeString": "int_const 1" } ], - "id": 656, + "id": 44605, "name": "_afterTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "10876:19:0", + "referencedDeclaration": 44859, + "src": "10876:19:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256)" } }, - "id": 664, + "id": 44613, "isConstant": false, "isLValue": false, "isPure": false, @@ -9518,43 +9518,43 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10876:50:0", + "src": "10876:50:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 665, + "id": 44614, "nodeType": "ExpressionStatement", - "src": "10876:50:0" + "src": "10876:50:26" } ] }, "documentation": { - "id": 601, + "id": 44550, "nodeType": "StructuredDocumentation", - "src": "9851:315:0", + "src": "9851:315:26", "text": " @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n This is an internal function that does not check if the sender is authorized to operate on the token.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_burn", - "nameLocation": "10180:5:0", + "nameLocation": "10180:5:26", "parameters": { - "id": 604, + "id": 44553, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 603, + "id": 44552, "mutability": "mutable", "name": "tokenId", - "nameLocation": "10194:7:0", + "nameLocation": "10194:7:26", "nodeType": "VariableDeclaration", - "scope": 667, - "src": "10186:15:0", + "scope": 44616, + "src": "10186:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9562,10 +9562,10 @@ "typeString": "uint256" }, "typeName": { - "id": 602, + "id": 44551, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10186:7:0", + "src": "10186:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9574,28 +9574,28 @@ "visibility": "internal" } ], - "src": "10185:17:0" + "src": "10185:17:26" }, "returnParameters": { - "id": 605, + "id": 44554, "nodeType": "ParameterList", "parameters": [], - "src": "10220:0:0" + "src": "10220:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { - "id": 752, + "id": 44701, "nodeType": "FunctionDefinition", - "src": "11257:1203:0", + "src": "11257:1203:26", "nodes": [], "body": { - "id": 751, + "id": 44700, "nodeType": "Block", - "src": "11336:1124:0", + "src": "11336:1124:26", "nodes": [], "statements": [ { @@ -9606,7 +9606,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 683, + "id": 44632, "isConstant": false, "isLValue": false, "isPure": false, @@ -9614,12 +9614,12 @@ "leftExpression": { "arguments": [ { - "id": 680, + "id": 44629, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 674, - "src": "11369:7:0", + "referencedDeclaration": 44623, + "src": "11369:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9634,33 +9634,33 @@ } ], "expression": { - "id": 678, + "id": 44627, "name": "ERC721", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "11354:6:0", + "referencedDeclaration": 44875, + "src": "11354:6:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", + "typeIdentifier": "t_type$_t_contract$_ERC721_$44875_$", "typeString": "type(contract ERC721)" } }, - "id": 679, + "id": 44628, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "11361:7:0", + "memberLocation": "11361:7:26", "memberName": "ownerOf", "nodeType": "MemberAccess", - "referencedDeclaration": 145, - "src": "11354:14:0", + "referencedDeclaration": 44094, + "src": "11354:14:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 681, + "id": 44630, "isConstant": false, "isLValue": false, "isPure": false, @@ -9669,7 +9669,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11354:23:0", + "src": "11354:23:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -9679,18 +9679,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 682, + "id": 44631, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 670, - "src": "11381:4:0", + "referencedDeclaration": 44619, + "src": "11381:4:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "11354:31:0", + "src": "11354:31:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9698,14 +9698,14 @@ }, { "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572", - "id": 684, + "id": 44633, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11387:39:0", + "src": "11387:39:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", "typeString": "literal_string \"ERC721: transfer from incorrect owner\"" @@ -9724,7 +9724,7 @@ "typeString": "literal_string \"ERC721: transfer from incorrect owner\"" } ], - "id": 677, + "id": 44626, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -9732,13 +9732,13 @@ -18 ], "referencedDeclaration": -18, - "src": "11346:7:0", + "src": "11346:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 685, + "id": 44634, "isConstant": false, "isLValue": false, "isPure": false, @@ -9747,16 +9747,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11346:81:0", + "src": "11346:81:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 686, + "id": 44635, "nodeType": "ExpressionStatement", - "src": "11346:81:0" + "src": "11346:81:26" }, { "expression": { @@ -9766,18 +9766,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 693, + "id": 44642, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 688, + "id": 44637, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 672, - "src": "11445:2:0", + "referencedDeclaration": 44621, + "src": "11445:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9789,14 +9789,14 @@ "arguments": [ { "hexValue": "30", - "id": 691, + "id": 44640, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11459:1:0", + "src": "11459:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -9811,26 +9811,26 @@ "typeString": "int_const 0" } ], - "id": 690, + "id": 44639, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "11451:7:0", + "src": "11451:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 689, + "id": 44638, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11451:7:0", + "src": "11451:7:26", "typeDescriptions": {} } }, - "id": 692, + "id": 44641, "isConstant": false, "isLValue": false, "isPure": true, @@ -9839,14 +9839,14 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11451:10:0", + "src": "11451:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "11445:16:0", + "src": "11445:16:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9854,14 +9854,14 @@ }, { "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 694, + "id": 44643, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11463:38:0", + "src": "11463:38:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", "typeString": "literal_string \"ERC721: transfer to the zero address\"" @@ -9880,7 +9880,7 @@ "typeString": "literal_string \"ERC721: transfer to the zero address\"" } ], - "id": 687, + "id": 44636, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -9888,13 +9888,13 @@ -18 ], "referencedDeclaration": -18, - "src": "11437:7:0", + "src": "11437:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 695, + "id": 44644, "isConstant": false, "isLValue": false, "isPure": false, @@ -9903,51 +9903,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11437:65:0", + "src": "11437:65:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 696, + "id": 44645, "nodeType": "ExpressionStatement", - "src": "11437:65:0" + "src": "11437:65:26" }, { "expression": { "arguments": [ { - "id": 698, + "id": 44647, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 670, - "src": "11534:4:0", + "referencedDeclaration": 44619, + "src": "11534:4:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 699, + "id": 44648, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 672, - "src": "11540:2:0", + "referencedDeclaration": 44621, + "src": "11540:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 700, + "id": 44649, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 674, - "src": "11544:7:0", + "referencedDeclaration": 44623, + "src": "11544:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9955,14 +9955,14 @@ }, { "hexValue": "31", - "id": 701, + "id": 44650, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11553:1:0", + "src": "11553:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -9989,18 +9989,18 @@ "typeString": "int_const 1" } ], - "id": 697, + "id": 44646, "name": "_beforeTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "11513:20:0", + "referencedDeclaration": 44846, + "src": "11513:20:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256)" } }, - "id": 702, + "id": 44651, "isConstant": false, "isLValue": false, "isPure": false, @@ -10009,16 +10009,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11513:42:0", + "src": "11513:42:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 703, + "id": 44652, "nodeType": "ExpressionStatement", - "src": "11513:42:0" + "src": "11513:42:26" }, { "expression": { @@ -10028,7 +10028,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 710, + "id": 44659, "isConstant": false, "isLValue": false, "isPure": false, @@ -10036,12 +10036,12 @@ "leftExpression": { "arguments": [ { - "id": 707, + "id": 44656, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 674, - "src": "11670:7:0", + "referencedDeclaration": 44623, + "src": "11670:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10056,33 +10056,33 @@ } ], "expression": { - "id": 705, + "id": 44654, "name": "ERC721", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "11655:6:0", + "referencedDeclaration": 44875, + "src": "11655:6:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", + "typeIdentifier": "t_type$_t_contract$_ERC721_$44875_$", "typeString": "type(contract ERC721)" } }, - "id": 706, + "id": 44655, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "11662:7:0", + "memberLocation": "11662:7:26", "memberName": "ownerOf", "nodeType": "MemberAccess", - "referencedDeclaration": 145, - "src": "11655:14:0", + "referencedDeclaration": 44094, + "src": "11655:14:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 708, + "id": 44657, "isConstant": false, "isLValue": false, "isPure": false, @@ -10091,7 +10091,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11655:23:0", + "src": "11655:23:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -10101,18 +10101,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 709, + "id": 44658, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 670, - "src": "11682:4:0", + "referencedDeclaration": 44619, + "src": "11682:4:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "11655:31:0", + "src": "11655:31:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10120,14 +10120,14 @@ }, { "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572", - "id": 711, + "id": 44660, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11688:39:0", + "src": "11688:39:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", "typeString": "literal_string \"ERC721: transfer from incorrect owner\"" @@ -10146,7 +10146,7 @@ "typeString": "literal_string \"ERC721: transfer from incorrect owner\"" } ], - "id": 704, + "id": 44653, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -10154,13 +10154,13 @@ -18 ], "referencedDeclaration": -18, - "src": "11647:7:0", + "src": "11647:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 712, + "id": 44661, "isConstant": false, "isLValue": false, "isPure": false, @@ -10169,20 +10169,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11647:81:0", + "src": "11647:81:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 713, + "id": 44662, "nodeType": "ExpressionStatement", - "src": "11647:81:0" + "src": "11647:81:26" }, { "expression": { - "id": 717, + "id": 44666, "isConstant": false, "isLValue": false, "isPure": false, @@ -10190,28 +10190,28 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "11790:31:0", + "src": "11790:31:26", "subExpression": { "baseExpression": { - "id": 714, + "id": 44663, "name": "_tokenApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 39, - "src": "11797:15:0", + "referencedDeclaration": 43988, + "src": "11797:15:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 716, + "id": 44665, "indexExpression": { - "id": 715, + "id": 44664, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 674, - "src": "11813:7:0", + "referencedDeclaration": 44623, + "src": "11813:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10222,7 +10222,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "11797:24:0", + "src": "11797:24:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10233,43 +10233,43 @@ "typeString": "tuple()" } }, - "id": 718, + "id": 44667, "nodeType": "ExpressionStatement", - "src": "11790:31:0" + "src": "11790:31:26" }, { - "id": 731, + "id": 44680, "nodeType": "UncheckedBlock", - "src": "11832:496:0", + "src": "11832:496:26", "statements": [ { "expression": { - "id": 723, + "id": 44672, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 719, + "id": 44668, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "12265:9:0", + "referencedDeclaration": 43984, + "src": "12265:9:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 721, + "id": 44670, "indexExpression": { - "id": 720, + "id": 44669, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 670, - "src": "12275:4:0", + "referencedDeclaration": 44619, + "src": "12275:4:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10280,7 +10280,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "12265:15:0", + "src": "12265:15:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10290,58 +10290,58 @@ "operator": "-=", "rightHandSide": { "hexValue": "31", - "id": 722, + "id": 44671, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12284:1:0", + "src": "12284:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "12265:20:0", + "src": "12265:20:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 724, + "id": 44673, "nodeType": "ExpressionStatement", - "src": "12265:20:0" + "src": "12265:20:26" }, { "expression": { - "id": 729, + "id": 44678, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 725, + "id": 44674, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "12299:9:0", + "referencedDeclaration": 43984, + "src": "12299:9:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 727, + "id": 44676, "indexExpression": { - "id": 726, + "id": 44675, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 672, - "src": "12309:2:0", + "referencedDeclaration": 44621, + "src": "12309:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10352,7 +10352,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "12299:13:0", + "src": "12299:13:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10362,60 +10362,60 @@ "operator": "+=", "rightHandSide": { "hexValue": "31", - "id": 728, + "id": 44677, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12316:1:0", + "src": "12316:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "12299:18:0", + "src": "12299:18:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 730, + "id": 44679, "nodeType": "ExpressionStatement", - "src": "12299:18:0" + "src": "12299:18:26" } ] }, { "expression": { - "id": 736, + "id": 44685, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 732, + "id": 44681, "name": "_owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 31, - "src": "12337:7:0", + "referencedDeclaration": 43980, + "src": "12337:7:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 734, + "id": 44683, "indexExpression": { - "id": 733, + "id": 44682, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 674, - "src": "12345:7:0", + "referencedDeclaration": 44623, + "src": "12345:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10426,7 +10426,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "12337:16:0", + "src": "12337:16:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10435,61 +10435,61 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 735, + "id": 44684, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 672, - "src": "12356:2:0", + "referencedDeclaration": 44621, + "src": "12356:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12337:21:0", + "src": "12337:21:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 737, + "id": 44686, "nodeType": "ExpressionStatement", - "src": "12337:21:0" + "src": "12337:21:26" }, { "eventCall": { "arguments": [ { - "id": 739, + "id": 44688, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 670, - "src": "12383:4:0", + "referencedDeclaration": 44619, + "src": "12383:4:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 740, + "id": 44689, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 672, - "src": "12389:2:0", + "referencedDeclaration": 44621, + "src": "12389:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 741, + "id": 44690, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 674, - "src": "12393:7:0", + "referencedDeclaration": 44623, + "src": "12393:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10511,18 +10511,18 @@ "typeString": "uint256" } ], - "id": 738, + "id": 44687, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "12374:8:0", + "referencedDeclaration": 44890, + "src": "12374:8:26", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 742, + "id": 44691, "isConstant": false, "isLValue": false, "isPure": false, @@ -10531,51 +10531,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12374:27:0", + "src": "12374:27:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 743, + "id": 44692, "nodeType": "EmitStatement", - "src": "12369:32:0" + "src": "12369:32:26" }, { "expression": { "arguments": [ { - "id": 745, + "id": 44694, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 670, - "src": "12432:4:0", + "referencedDeclaration": 44619, + "src": "12432:4:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 746, + "id": 44695, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 672, - "src": "12438:2:0", + "referencedDeclaration": 44621, + "src": "12438:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 747, + "id": 44696, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 674, - "src": "12442:7:0", + "referencedDeclaration": 44623, + "src": "12442:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10583,14 +10583,14 @@ }, { "hexValue": "31", - "id": 748, + "id": 44697, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12451:1:0", + "src": "12451:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -10617,18 +10617,18 @@ "typeString": "int_const 1" } ], - "id": 744, + "id": 44693, "name": "_afterTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "12412:19:0", + "referencedDeclaration": 44859, + "src": "12412:19:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256)" } }, - "id": 749, + "id": 44698, "isConstant": false, "isLValue": false, "isPure": false, @@ -10637,43 +10637,43 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12412:41:0", + "src": "12412:41:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 750, + "id": 44699, "nodeType": "ExpressionStatement", - "src": "12412:41:0" + "src": "12412:41:26" } ] }, "documentation": { - "id": 668, + "id": 44617, "nodeType": "StructuredDocumentation", - "src": "10939:313:0", + "src": "10939:313:26", "text": " @dev Transfers `tokenId` from `from` to `to`.\n As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n Requirements:\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n Emits a {Transfer} event." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_transfer", - "nameLocation": "11266:9:0", + "nameLocation": "11266:9:26", "parameters": { - "id": 675, + "id": 44624, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 670, + "id": 44619, "mutability": "mutable", "name": "from", - "nameLocation": "11284:4:0", + "nameLocation": "11284:4:26", "nodeType": "VariableDeclaration", - "scope": 752, - "src": "11276:12:0", + "scope": 44701, + "src": "11276:12:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10681,10 +10681,10 @@ "typeString": "address" }, "typeName": { - "id": 669, + "id": 44618, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11276:7:0", + "src": "11276:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10695,13 +10695,13 @@ }, { "constant": false, - "id": 672, + "id": 44621, "mutability": "mutable", "name": "to", - "nameLocation": "11298:2:0", + "nameLocation": "11298:2:26", "nodeType": "VariableDeclaration", - "scope": 752, - "src": "11290:10:0", + "scope": 44701, + "src": "11290:10:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10709,10 +10709,10 @@ "typeString": "address" }, "typeName": { - "id": 671, + "id": 44620, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11290:7:0", + "src": "11290:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10723,13 +10723,13 @@ }, { "constant": false, - "id": 674, + "id": 44623, "mutability": "mutable", "name": "tokenId", - "nameLocation": "11310:7:0", + "nameLocation": "11310:7:26", "nodeType": "VariableDeclaration", - "scope": 752, - "src": "11302:15:0", + "scope": 44701, + "src": "11302:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10737,10 +10737,10 @@ "typeString": "uint256" }, "typeName": { - "id": 673, + "id": 44622, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11302:7:0", + "src": "11302:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10749,58 +10749,58 @@ "visibility": "internal" } ], - "src": "11275:43:0" + "src": "11275:43:26" }, "returnParameters": { - "id": 676, + "id": 44625, "nodeType": "ParameterList", "parameters": [], - "src": "11336:0:0" + "src": "11336:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { - "id": 776, + "id": 44725, "nodeType": "FunctionDefinition", - "src": "12572:171:0", + "src": "12572:171:26", "nodes": [], "body": { - "id": 775, + "id": 44724, "nodeType": "Block", - "src": "12636:107:0", + "src": "12636:107:26", "nodes": [], "statements": [ { "expression": { - "id": 764, + "id": 44713, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 760, + "id": 44709, "name": "_tokenApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 39, - "src": "12646:15:0", + "referencedDeclaration": 43988, + "src": "12646:15:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 762, + "id": 44711, "indexExpression": { - "id": 761, + "id": 44710, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 757, - "src": "12662:7:0", + "referencedDeclaration": 44706, + "src": "12662:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10811,7 +10811,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "12646:24:0", + "src": "12646:24:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10820,26 +10820,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 763, + "id": 44712, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "12673:2:0", + "referencedDeclaration": 44704, + "src": "12673:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12646:29:0", + "src": "12646:29:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 765, + "id": 44714, "nodeType": "ExpressionStatement", - "src": "12646:29:0" + "src": "12646:29:26" }, { "eventCall": { @@ -10847,12 +10847,12 @@ { "arguments": [ { - "id": 769, + "id": 44718, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 757, - "src": "12714:7:0", + "referencedDeclaration": 44706, + "src": "12714:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10867,33 +10867,33 @@ } ], "expression": { - "id": 767, + "id": 44716, "name": "ERC721", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "12699:6:0", + "referencedDeclaration": 44875, + "src": "12699:6:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", + "typeIdentifier": "t_type$_t_contract$_ERC721_$44875_$", "typeString": "type(contract ERC721)" } }, - "id": 768, + "id": 44717, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12706:7:0", + "memberLocation": "12706:7:26", "memberName": "ownerOf", "nodeType": "MemberAccess", - "referencedDeclaration": 145, - "src": "12699:14:0", + "referencedDeclaration": 44094, + "src": "12699:14:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 770, + "id": 44719, "isConstant": false, "isLValue": false, "isPure": false, @@ -10902,7 +10902,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12699:23:0", + "src": "12699:23:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -10910,24 +10910,24 @@ } }, { - "id": 771, + "id": 44720, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "12724:2:0", + "referencedDeclaration": 44704, + "src": "12724:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 772, + "id": 44721, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 757, - "src": "12728:7:0", + "referencedDeclaration": 44706, + "src": "12728:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10949,18 +10949,18 @@ "typeString": "uint256" } ], - "id": 766, + "id": 44715, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 950, - "src": "12690:8:0", + "referencedDeclaration": 44899, + "src": "12690:8:26", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 773, + "id": 44722, "isConstant": false, "isLValue": false, "isPure": false, @@ -10969,43 +10969,43 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12690:46:0", + "src": "12690:46:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 774, + "id": 44723, "nodeType": "EmitStatement", - "src": "12685:51:0" + "src": "12685:51:26" } ] }, "documentation": { - "id": 753, + "id": 44702, "nodeType": "StructuredDocumentation", - "src": "12466:101:0", + "src": "12466:101:26", "text": " @dev Approve `to` to operate on `tokenId`\n Emits an {Approval} event." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_approve", - "nameLocation": "12581:8:0", + "nameLocation": "12581:8:26", "parameters": { - "id": 758, + "id": 44707, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 755, + "id": 44704, "mutability": "mutable", "name": "to", - "nameLocation": "12598:2:0", + "nameLocation": "12598:2:26", "nodeType": "VariableDeclaration", - "scope": 776, - "src": "12590:10:0", + "scope": 44725, + "src": "12590:10:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11013,10 +11013,10 @@ "typeString": "address" }, "typeName": { - "id": 754, + "id": 44703, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12590:7:0", + "src": "12590:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11027,13 +11027,13 @@ }, { "constant": false, - "id": 757, + "id": 44706, "mutability": "mutable", "name": "tokenId", - "nameLocation": "12610:7:0", + "nameLocation": "12610:7:26", "nodeType": "VariableDeclaration", - "scope": 776, - "src": "12602:15:0", + "scope": 44725, + "src": "12602:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11041,10 +11041,10 @@ "typeString": "uint256" }, "typeName": { - "id": 756, + "id": 44705, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12602:7:0", + "src": "12602:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11053,28 +11053,28 @@ "visibility": "internal" } ], - "src": "12589:29:0" + "src": "12589:29:26" }, "returnParameters": { - "id": 759, + "id": 44708, "nodeType": "ParameterList", "parameters": [], - "src": "12636:0:0" + "src": "12636:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { - "id": 808, + "id": 44757, "nodeType": "FunctionDefinition", - "src": "12879:277:0", + "src": "12879:277:26", "nodes": [], "body": { - "id": 807, + "id": 44756, "nodeType": "Block", - "src": "12972:184:0", + "src": "12972:184:26", "nodes": [], "statements": [ { @@ -11085,18 +11085,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 789, + "id": 44738, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 787, + "id": 44736, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 779, - "src": "12990:5:0", + "referencedDeclaration": 44728, + "src": "12990:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11105,18 +11105,18 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 788, + "id": 44737, "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 781, - "src": "12999:8:0", + "referencedDeclaration": 44730, + "src": "12999:8:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12990:17:0", + "src": "12990:17:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11124,14 +11124,14 @@ }, { "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", - "id": 790, + "id": 44739, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "13009:27:0", + "src": "13009:27:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", "typeString": "literal_string \"ERC721: approve to caller\"" @@ -11150,7 +11150,7 @@ "typeString": "literal_string \"ERC721: approve to caller\"" } ], - "id": 786, + "id": 44735, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -11158,13 +11158,13 @@ -18 ], "referencedDeclaration": -18, - "src": "12982:7:0", + "src": "12982:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 791, + "id": 44740, "isConstant": false, "isLValue": false, "isPure": false, @@ -11173,20 +11173,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12982:55:0", + "src": "12982:55:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 792, + "id": 44741, "nodeType": "ExpressionStatement", - "src": "12982:55:0" + "src": "12982:55:26" }, { "expression": { - "id": 799, + "id": 44748, "isConstant": false, "isLValue": false, "isPure": false, @@ -11194,25 +11194,25 @@ "leftHandSide": { "baseExpression": { "baseExpression": { - "id": 793, + "id": 44742, "name": "_operatorApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45, - "src": "13047:18:0", + "referencedDeclaration": 43994, + "src": "13047:18:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", "typeString": "mapping(address => mapping(address => bool))" } }, - "id": 796, + "id": 44745, "indexExpression": { - "id": 794, + "id": 44743, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 779, - "src": "13066:5:0", + "referencedDeclaration": 44728, + "src": "13066:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11223,20 +11223,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13047:25:0", + "src": "13047:25:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 797, + "id": 44746, "indexExpression": { - "id": 795, + "id": 44744, "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 781, - "src": "13073:8:0", + "referencedDeclaration": 44730, + "src": "13073:8:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11247,7 +11247,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "13047:35:0", + "src": "13047:35:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11256,61 +11256,61 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 798, + "id": 44747, "name": "approved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "13085:8:0", + "referencedDeclaration": 44732, + "src": "13085:8:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13047:46:0", + "src": "13047:46:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 800, + "id": 44749, "nodeType": "ExpressionStatement", - "src": "13047:46:0" + "src": "13047:46:26" }, { "eventCall": { "arguments": [ { - "id": 802, + "id": 44751, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 779, - "src": "13123:5:0", + "referencedDeclaration": 44728, + "src": "13123:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 803, + "id": 44752, "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 781, - "src": "13130:8:0", + "referencedDeclaration": 44730, + "src": "13130:8:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 804, + "id": 44753, "name": "approved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "13140:8:0", + "referencedDeclaration": 44732, + "src": "13140:8:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11332,18 +11332,18 @@ "typeString": "bool" } ], - "id": 801, + "id": 44750, "name": "ApprovalForAll", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "13108:14:0", + "referencedDeclaration": 44908, + "src": "13108:14:26", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", "typeString": "function (address,address,bool)" } }, - "id": 805, + "id": 44754, "isConstant": false, "isLValue": false, "isPure": false, @@ -11352,43 +11352,43 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13108:41:0", + "src": "13108:41:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 806, + "id": 44755, "nodeType": "EmitStatement", - "src": "13103:46:0" + "src": "13103:46:26" } ] }, "documentation": { - "id": 777, + "id": 44726, "nodeType": "StructuredDocumentation", - "src": "12749:125:0", + "src": "12749:125:26", "text": " @dev Approve `operator` to operate on all of `owner` tokens\n Emits an {ApprovalForAll} event." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_setApprovalForAll", - "nameLocation": "12888:18:0", + "nameLocation": "12888:18:26", "parameters": { - "id": 784, + "id": 44733, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 779, + "id": 44728, "mutability": "mutable", "name": "owner", - "nameLocation": "12915:5:0", + "nameLocation": "12915:5:26", "nodeType": "VariableDeclaration", - "scope": 808, - "src": "12907:13:0", + "scope": 44757, + "src": "12907:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11396,10 +11396,10 @@ "typeString": "address" }, "typeName": { - "id": 778, + "id": 44727, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12907:7:0", + "src": "12907:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11410,13 +11410,13 @@ }, { "constant": false, - "id": 781, + "id": 44730, "mutability": "mutable", "name": "operator", - "nameLocation": "12930:8:0", + "nameLocation": "12930:8:26", "nodeType": "VariableDeclaration", - "scope": 808, - "src": "12922:16:0", + "scope": 44757, + "src": "12922:16:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11424,10 +11424,10 @@ "typeString": "address" }, "typeName": { - "id": 780, + "id": 44729, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12922:7:0", + "src": "12922:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11438,13 +11438,13 @@ }, { "constant": false, - "id": 783, + "id": 44732, "mutability": "mutable", "name": "approved", - "nameLocation": "12945:8:0", + "nameLocation": "12945:8:26", "nodeType": "VariableDeclaration", - "scope": 808, - "src": "12940:13:0", + "scope": 44757, + "src": "12940:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11452,10 +11452,10 @@ "typeString": "bool" }, "typeName": { - "id": 782, + "id": 44731, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "12940:4:0", + "src": "12940:4:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11464,28 +11464,28 @@ "visibility": "internal" } ], - "src": "12906:48:0" + "src": "12906:48:26" }, "returnParameters": { - "id": 785, + "id": 44734, "nodeType": "ParameterList", "parameters": [], - "src": "12972:0:0" + "src": "12972:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { - "id": 822, + "id": 44771, "nodeType": "FunctionDefinition", - "src": "13240:133:0", + "src": "13240:133:26", "nodes": [], "body": { - "id": 821, + "id": 44770, "nodeType": "Block", - "src": "13303:70:0", + "src": "13303:70:26", "nodes": [], "statements": [ { @@ -11494,12 +11494,12 @@ { "arguments": [ { - "id": 816, + "id": 44765, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "13329:7:0", + "referencedDeclaration": 44760, + "src": "13329:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11513,18 +11513,18 @@ "typeString": "uint256" } ], - "id": 815, + "id": 44764, "name": "_exists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 445, - "src": "13321:7:0", + "referencedDeclaration": 44394, + "src": "13321:7:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 817, + "id": 44766, "isConstant": false, "isLValue": false, "isPure": false, @@ -11533,7 +11533,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13321:16:0", + "src": "13321:16:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11542,14 +11542,14 @@ }, { "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", - "id": 818, + "id": 44767, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "13339:26:0", + "src": "13339:26:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", "typeString": "literal_string \"ERC721: invalid token ID\"" @@ -11568,7 +11568,7 @@ "typeString": "literal_string \"ERC721: invalid token ID\"" } ], - "id": 814, + "id": 44763, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -11576,13 +11576,13 @@ -18 ], "referencedDeclaration": -18, - "src": "13313:7:0", + "src": "13313:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 819, + "id": 44768, "isConstant": false, "isLValue": false, "isPure": false, @@ -11591,43 +11591,43 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13313:53:0", + "src": "13313:53:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 820, + "id": 44769, "nodeType": "ExpressionStatement", - "src": "13313:53:0" + "src": "13313:53:26" } ] }, "documentation": { - "id": 809, + "id": 44758, "nodeType": "StructuredDocumentation", - "src": "13162:73:0", + "src": "13162:73:26", "text": " @dev Reverts if the `tokenId` has not been minted yet." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_requireMinted", - "nameLocation": "13249:14:0", + "nameLocation": "13249:14:26", "parameters": { - "id": 812, + "id": 44761, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 811, + "id": 44760, "mutability": "mutable", "name": "tokenId", - "nameLocation": "13272:7:0", + "nameLocation": "13272:7:26", "nodeType": "VariableDeclaration", - "scope": 822, - "src": "13264:15:0", + "scope": 44771, + "src": "13264:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11635,10 +11635,10 @@ "typeString": "uint256" }, "typeName": { - "id": 810, + "id": 44759, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13264:7:0", + "src": "13264:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11647,28 +11647,28 @@ "visibility": "internal" } ], - "src": "13263:17:0" + "src": "13263:17:26" }, "returnParameters": { - "id": 813, + "id": 44762, "nodeType": "ParameterList", "parameters": [], - "src": "13303:0:0" + "src": "13303:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "view", "virtual": true, "visibility": "internal" }, { - "id": 884, + "id": 44833, "nodeType": "FunctionDefinition", - "src": "13925:831:0", + "src": "13925:831:26", "nodes": [], "body": { - "id": 883, + "id": 44832, "nodeType": "Block", - "src": "14080:676:0", + "src": "14080:676:26", "nodes": [], "statements": [ { @@ -11677,33 +11677,33 @@ "expression": { "argumentTypes": [], "expression": { - "id": 836, + "id": 44785, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "14094:2:0", + "referencedDeclaration": 44776, + "src": "14094:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 837, + "id": 44786, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14097:10:0", + "memberLocation": "14097:10:26", "memberName": "isContract", "nodeType": "MemberAccess", - "referencedDeclaration": 1105, - "src": "14094:13:0", + "referencedDeclaration": 45054, + "src": "14094:13:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$attached_to$_t_address_$", "typeString": "function (address) view returns (bool)" } }, - "id": 838, + "id": 44787, "isConstant": false, "isLValue": false, "isPure": false, @@ -11712,7 +11712,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14094:15:0", + "src": "14094:15:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11720,49 +11720,49 @@ } }, "falseBody": { - "id": 881, + "id": 44830, "nodeType": "Block", - "src": "14714:36:0", + "src": "14714:36:26", "statements": [ { "expression": { "hexValue": "74727565", - "id": 879, + "id": 44828, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14735:4:0", + "src": "14735:4:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "functionReturnParameters": 835, - "id": 880, + "functionReturnParameters": 44784, + "id": 44829, "nodeType": "Return", - "src": "14728:11:0" + "src": "14728:11:26" } ] }, - "id": 882, + "id": 44831, "nodeType": "IfStatement", - "src": "14090:660:0", + "src": "14090:660:26", "trueBody": { - "id": 878, + "id": 44827, "nodeType": "Block", - "src": "14111:597:0", + "src": "14111:597:26", "statements": [ { "clauses": [ { "block": { - "id": 858, + "id": 44807, "nodeType": "Block", - "src": "14225:91:0", + "src": "14225:91:26", "statements": [ { "expression": { @@ -11770,18 +11770,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 856, + "id": 44805, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 852, + "id": 44801, "name": "retval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 850, - "src": "14250:6:0", + "referencedDeclaration": 44799, + "src": "14250:6:26", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -11792,75 +11792,75 @@ "rightExpression": { "expression": { "expression": { - "id": 853, + "id": 44802, "name": "IERC721Receiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "14260:15:0", + "referencedDeclaration": 45009, + "src": "14260:15:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1060_$", + "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$45009_$", "typeString": "type(contract IERC721Receiver)" } }, - "id": 854, + "id": 44803, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "14276:16:0", + "memberLocation": "14276:16:26", "memberName": "onERC721Received", "nodeType": "MemberAccess", - "referencedDeclaration": 1059, - "src": "14260:32:0", + "referencedDeclaration": 45008, + "src": "14260:32:26", "typeDescriptions": { "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$", "typeString": "function IERC721Receiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)" } }, - "id": 855, + "id": 44804, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "14293:8:0", + "memberLocation": "14293:8:26", "memberName": "selector", "nodeType": "MemberAccess", - "src": "14260:41:0", + "src": "14260:41:26", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "14250:51:0", + "src": "14250:51:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 835, - "id": 857, + "functionReturnParameters": 44784, + "id": 44806, "nodeType": "Return", - "src": "14243:58:0" + "src": "14243:58:26" } ] }, "errorName": "", - "id": 859, + "id": 44808, "nodeType": "TryCatchClause", "parameters": { - "id": 851, + "id": 44800, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 850, + "id": 44799, "mutability": "mutable", "name": "retval", - "nameLocation": "14217:6:0", + "nameLocation": "14217:6:26", "nodeType": "VariableDeclaration", - "scope": 859, - "src": "14210:13:0", + "scope": 44808, + "src": "14210:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11868,10 +11868,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 849, + "id": 44798, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "14210:6:0", + "src": "14210:6:26", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -11880,15 +11880,15 @@ "visibility": "internal" } ], - "src": "14209:15:0" + "src": "14209:15:26" }, - "src": "14201:115:0" + "src": "14201:115:26" }, { "block": { - "id": 875, + "id": 44824, "nodeType": "Block", - "src": "14345:353:0", + "src": "14345:353:26", "statements": [ { "condition": { @@ -11896,33 +11896,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 866, + "id": 44815, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 863, + "id": 44812, "name": "reason", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 861, - "src": "14367:6:0", + "referencedDeclaration": 44810, + "src": "14367:6:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 864, + "id": 44813, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14374:6:0", + "memberLocation": "14374:6:26", "memberName": "length", "nodeType": "MemberAccess", - "src": "14367:13:0", + "src": "14367:13:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11932,35 +11932,35 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 865, + "id": 44814, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14384:1:0", + "src": "14384:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "14367:18:0", + "src": "14367:18:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 873, + "id": 44822, "nodeType": "Block", - "src": "14494:190:0", + "src": "14494:190:26", "statements": [ { "AST": { "nodeType": "YulBlock", - "src": "14580:86:0", + "src": "14580:86:26", "statements": [ { "expression": { @@ -11970,51 +11970,51 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "14617:2:0", + "src": "14617:2:26", "type": "", "value": "32" }, { "name": "reason", "nodeType": "YulIdentifier", - "src": "14621:6:0" + "src": "14621:6:26" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14613:3:0" + "src": "14613:3:26" }, "nodeType": "YulFunctionCall", - "src": "14613:15:0" + "src": "14613:15:26" }, { "arguments": [ { "name": "reason", "nodeType": "YulIdentifier", - "src": "14636:6:0" + "src": "14636:6:26" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "14630:5:0" + "src": "14630:5:26" }, "nodeType": "YulFunctionCall", - "src": "14630:13:0" + "src": "14630:13:26" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "14606:6:0" + "src": "14606:6:26" }, "nodeType": "YulFunctionCall", - "src": "14606:38:0" + "src": "14606:38:26" }, "nodeType": "YulExpressionStatement", - "src": "14606:38:0" + "src": "14606:38:26" } ] }, @@ -12022,47 +12022,47 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 861, + "declaration": 44810, "isOffset": false, "isSlot": false, - "src": "14621:6:0", + "src": "14621:6:26", "valueSize": 1 }, { - "declaration": 861, + "declaration": 44810, "isOffset": false, "isSlot": false, - "src": "14636:6:0", + "src": "14636:6:26", "valueSize": 1 } ], - "id": 872, + "id": 44821, "nodeType": "InlineAssembly", - "src": "14571:95:0" + "src": "14571:95:26" } ] }, - "id": 874, + "id": 44823, "nodeType": "IfStatement", - "src": "14363:321:0", + "src": "14363:321:26", "trueBody": { - "id": 871, + "id": 44820, "nodeType": "Block", - "src": "14387:101:0", + "src": "14387:101:26", "statements": [ { "expression": { "arguments": [ { "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 868, + "id": 44817, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14416:52:0", + "src": "14416:52:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" @@ -12077,7 +12077,7 @@ "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" } ], - "id": 867, + "id": 44816, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -12085,13 +12085,13 @@ -19 ], "referencedDeclaration": -19, - "src": "14409:6:0", + "src": "14409:6:26", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 869, + "id": 44818, "isConstant": false, "isLValue": false, "isPure": false, @@ -12100,16 +12100,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14409:60:0", + "src": "14409:60:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 870, + "id": 44819, "nodeType": "ExpressionStatement", - "src": "14409:60:0" + "src": "14409:60:26" } ] } @@ -12117,21 +12117,21 @@ ] }, "errorName": "", - "id": 876, + "id": 44825, "nodeType": "TryCatchClause", "parameters": { - "id": 862, + "id": 44811, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 861, + "id": 44810, "mutability": "mutable", "name": "reason", - "nameLocation": "14337:6:0", + "nameLocation": "14337:6:26", "nodeType": "VariableDeclaration", - "scope": 876, - "src": "14324:19:0", + "scope": 44825, + "src": "14324:19:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -12139,10 +12139,10 @@ "typeString": "bytes" }, "typeName": { - "id": 860, + "id": 44809, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14324:5:0", + "src": "14324:5:26", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -12151,9 +12151,9 @@ "visibility": "internal" } ], - "src": "14323:21:0" + "src": "14323:21:26" }, - "src": "14317:381:0" + "src": "14317:381:26" } ], "externalCall": { @@ -12162,18 +12162,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 843, + "id": 44792, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1429, - "src": "14166:10:0", + "referencedDeclaration": 45378, + "src": "14166:10:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 844, + "id": 44793, "isConstant": false, "isLValue": false, "isPure": false, @@ -12182,7 +12182,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14166:12:0", + "src": "14166:12:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -12190,36 +12190,36 @@ } }, { - "id": 845, + "id": 44794, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 825, - "src": "14180:4:0", + "referencedDeclaration": 44774, + "src": "14180:4:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 846, + "id": 44795, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "14186:7:0", + "referencedDeclaration": 44778, + "src": "14186:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 847, + "id": 44796, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 831, - "src": "14195:4:0", + "referencedDeclaration": 44780, + "src": "14195:4:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -12248,12 +12248,12 @@ "expression": { "arguments": [ { - "id": 840, + "id": 44789, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "14145:2:0", + "referencedDeclaration": 44776, + "src": "14145:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12267,18 +12267,18 @@ "typeString": "address" } ], - "id": 839, + "id": 44788, "name": "IERC721Receiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "14129:15:0", + "referencedDeclaration": 45009, + "src": "14129:15:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1060_$", + "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$45009_$", "typeString": "type(contract IERC721Receiver)" } }, - "id": 841, + "id": 44790, "isConstant": false, "isLValue": false, "isPure": false, @@ -12287,29 +12287,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14129:19:0", + "src": "14129:19:26", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Receiver_$1060", + "typeIdentifier": "t_contract$_IERC721Receiver_$45009", "typeString": "contract IERC721Receiver" } }, - "id": 842, + "id": 44791, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14149:16:0", + "memberLocation": "14149:16:26", "memberName": "onERC721Received", "nodeType": "MemberAccess", - "referencedDeclaration": 1059, - "src": "14129:36:0", + "referencedDeclaration": 45008, + "src": "14129:36:26", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" } }, - "id": 848, + "id": 44797, "isConstant": false, "isLValue": false, "isPure": false, @@ -12318,16 +12318,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14129:71:0", + "src": "14129:71:26", "tryCall": true, "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "id": 877, + "id": 44826, "nodeType": "TryStatement", - "src": "14125:573:0" + "src": "14125:573:26" } ] } @@ -12335,29 +12335,29 @@ ] }, "documentation": { - "id": 823, + "id": 44772, "nodeType": "StructuredDocumentation", - "src": "13379:541:0", + "src": "13379:541:26", "text": " @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n The call is not executed if the target address is not a contract.\n @param from address representing the previous owner of the given token ID\n @param to target address that will receive the tokens\n @param tokenId uint256 ID of the token to be transferred\n @param data bytes optional data to send along with the call\n @return bool whether the call correctly returned the expected magic value" }, "implemented": true, "kind": "function", "modifiers": [], "name": "_checkOnERC721Received", - "nameLocation": "13934:22:0", + "nameLocation": "13934:22:26", "parameters": { - "id": 832, + "id": 44781, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 825, + "id": 44774, "mutability": "mutable", "name": "from", - "nameLocation": "13974:4:0", + "nameLocation": "13974:4:26", "nodeType": "VariableDeclaration", - "scope": 884, - "src": "13966:12:0", + "scope": 44833, + "src": "13966:12:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12365,10 +12365,10 @@ "typeString": "address" }, "typeName": { - "id": 824, + "id": 44773, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13966:7:0", + "src": "13966:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12379,13 +12379,13 @@ }, { "constant": false, - "id": 827, + "id": 44776, "mutability": "mutable", "name": "to", - "nameLocation": "13996:2:0", + "nameLocation": "13996:2:26", "nodeType": "VariableDeclaration", - "scope": 884, - "src": "13988:10:0", + "scope": 44833, + "src": "13988:10:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12393,10 +12393,10 @@ "typeString": "address" }, "typeName": { - "id": 826, + "id": 44775, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13988:7:0", + "src": "13988:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12407,13 +12407,13 @@ }, { "constant": false, - "id": 829, + "id": 44778, "mutability": "mutable", "name": "tokenId", - "nameLocation": "14016:7:0", + "nameLocation": "14016:7:26", "nodeType": "VariableDeclaration", - "scope": 884, - "src": "14008:15:0", + "scope": 44833, + "src": "14008:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12421,10 +12421,10 @@ "typeString": "uint256" }, "typeName": { - "id": 828, + "id": 44777, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14008:7:0", + "src": "14008:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12434,13 +12434,13 @@ }, { "constant": false, - "id": 831, + "id": 44780, "mutability": "mutable", "name": "data", - "nameLocation": "14046:4:0", + "nameLocation": "14046:4:26", "nodeType": "VariableDeclaration", - "scope": 884, - "src": "14033:17:0", + "scope": 44833, + "src": "14033:17:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -12448,10 +12448,10 @@ "typeString": "bytes" }, "typeName": { - "id": 830, + "id": 44779, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14033:5:0", + "src": "14033:5:26", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -12460,21 +12460,21 @@ "visibility": "internal" } ], - "src": "13956:100:0" + "src": "13956:100:26" }, "returnParameters": { - "id": 835, + "id": 44784, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 834, + "id": 44783, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 884, - "src": "14074:4:0", + "scope": 44833, + "src": "14074:4:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12482,10 +12482,10 @@ "typeString": "bool" }, "typeName": { - "id": 833, + "id": 44782, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "14074:4:0", + "src": "14074:4:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12494,49 +12494,49 @@ "visibility": "internal" } ], - "src": "14073:6:0" + "src": "14073:6:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": false, "visibility": "private" }, { - "id": 897, + "id": 44846, "nodeType": "FunctionDefinition", - "src": "15472:116:0", + "src": "15472:116:26", "nodes": [], "body": { - "id": 896, + "id": 44845, "nodeType": "Block", - "src": "15586:2:0", + "src": "15586:2:26", "nodes": [], "statements": [] }, "documentation": { - "id": 885, + "id": 44834, "nodeType": "StructuredDocumentation", - "src": "14762:705:0", + "src": "14762:705:26", "text": " @dev Hook that is called before any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s tokens will be transferred to `to`.\n - When `from` is zero, the tokens will be minted for `to`.\n - When `to` is zero, ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n - `batchSize` is non-zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_beforeTokenTransfer", - "nameLocation": "15481:20:0", + "nameLocation": "15481:20:26", "parameters": { - "id": 894, + "id": 44843, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 887, + "id": 44836, "mutability": "mutable", "name": "from", - "nameLocation": "15510:4:0", + "nameLocation": "15510:4:26", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "15502:12:0", + "scope": 44846, + "src": "15502:12:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12544,10 +12544,10 @@ "typeString": "address" }, "typeName": { - "id": 886, + "id": 44835, "name": "address", "nodeType": "ElementaryTypeName", - "src": "15502:7:0", + "src": "15502:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12558,13 +12558,13 @@ }, { "constant": false, - "id": 889, + "id": 44838, "mutability": "mutable", "name": "to", - "nameLocation": "15524:2:0", + "nameLocation": "15524:2:26", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "15516:10:0", + "scope": 44846, + "src": "15516:10:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12572,10 +12572,10 @@ "typeString": "address" }, "typeName": { - "id": 888, + "id": 44837, "name": "address", "nodeType": "ElementaryTypeName", - "src": "15516:7:0", + "src": "15516:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12586,13 +12586,13 @@ }, { "constant": false, - "id": 891, + "id": 44840, "mutability": "mutable", "name": "firstTokenId", - "nameLocation": "15536:12:0", + "nameLocation": "15536:12:26", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "15528:20:0", + "scope": 44846, + "src": "15528:20:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12600,10 +12600,10 @@ "typeString": "uint256" }, "typeName": { - "id": 890, + "id": 44839, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15528:7:0", + "src": "15528:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12613,13 +12613,13 @@ }, { "constant": false, - "id": 893, + "id": 44842, "mutability": "mutable", "name": "batchSize", - "nameLocation": "15558:9:0", + "nameLocation": "15558:9:26", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "15550:17:0", + "scope": 44846, + "src": "15550:17:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12627,10 +12627,10 @@ "typeString": "uint256" }, "typeName": { - "id": 892, + "id": 44841, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15550:7:0", + "src": "15550:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12639,55 +12639,55 @@ "visibility": "internal" } ], - "src": "15501:67:0" + "src": "15501:67:26" }, "returnParameters": { - "id": 895, + "id": 44844, "nodeType": "ParameterList", "parameters": [], - "src": "15586:0:0" + "src": "15586:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { - "id": 910, + "id": 44859, "nodeType": "FunctionDefinition", - "src": "16294:115:0", + "src": "16294:115:26", "nodes": [], "body": { - "id": 909, + "id": 44858, "nodeType": "Block", - "src": "16407:2:0", + "src": "16407:2:26", "nodes": [], "statements": [] }, "documentation": { - "id": 898, + "id": 44847, "nodeType": "StructuredDocumentation", - "src": "15594:695:0", + "src": "15594:695:26", "text": " @dev Hook that is called after any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s tokens were transferred to `to`.\n - When `from` is zero, the tokens were minted for `to`.\n - When `to` is zero, ``from``'s tokens were burned.\n - `from` and `to` are never both zero.\n - `batchSize` is non-zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_afterTokenTransfer", - "nameLocation": "16303:19:0", + "nameLocation": "16303:19:26", "parameters": { - "id": 907, + "id": 44856, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 900, + "id": 44849, "mutability": "mutable", "name": "from", - "nameLocation": "16331:4:0", + "nameLocation": "16331:4:26", "nodeType": "VariableDeclaration", - "scope": 910, - "src": "16323:12:0", + "scope": 44859, + "src": "16323:12:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12695,10 +12695,10 @@ "typeString": "address" }, "typeName": { - "id": 899, + "id": 44848, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16323:7:0", + "src": "16323:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12709,13 +12709,13 @@ }, { "constant": false, - "id": 902, + "id": 44851, "mutability": "mutable", "name": "to", - "nameLocation": "16345:2:0", + "nameLocation": "16345:2:26", "nodeType": "VariableDeclaration", - "scope": 910, - "src": "16337:10:0", + "scope": 44859, + "src": "16337:10:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12723,10 +12723,10 @@ "typeString": "address" }, "typeName": { - "id": 901, + "id": 44850, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16337:7:0", + "src": "16337:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12737,13 +12737,13 @@ }, { "constant": false, - "id": 904, + "id": 44853, "mutability": "mutable", "name": "firstTokenId", - "nameLocation": "16357:12:0", + "nameLocation": "16357:12:26", "nodeType": "VariableDeclaration", - "scope": 910, - "src": "16349:20:0", + "scope": 44859, + "src": "16349:20:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12751,10 +12751,10 @@ "typeString": "uint256" }, "typeName": { - "id": 903, + "id": 44852, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16349:7:0", + "src": "16349:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12764,13 +12764,13 @@ }, { "constant": false, - "id": 906, + "id": 44855, "mutability": "mutable", "name": "batchSize", - "nameLocation": "16379:9:0", + "nameLocation": "16379:9:26", "nodeType": "VariableDeclaration", - "scope": 910, - "src": "16371:17:0", + "scope": 44859, + "src": "16371:17:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12778,10 +12778,10 @@ "typeString": "uint256" }, "typeName": { - "id": 905, + "id": 44854, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16371:7:0", + "src": "16371:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12790,58 +12790,58 @@ "visibility": "internal" } ], - "src": "16322:67:0" + "src": "16322:67:26" }, "returnParameters": { - "id": 908, + "id": 44857, "nodeType": "ParameterList", "parameters": [], - "src": "16407:0:0" + "src": "16407:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { - "id": 925, + "id": 44874, "nodeType": "FunctionDefinition", - "src": "16882:121:0", + "src": "16882:121:26", "nodes": [], "body": { - "id": 924, + "id": 44873, "nodeType": "Block", - "src": "16958:45:0", + "src": "16958:45:26", "nodes": [], "statements": [ { "expression": { - "id": 922, + "id": 44871, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 918, + "id": 44867, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "16968:9:0", + "referencedDeclaration": 43984, + "src": "16968:9:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 920, + "id": 44869, "indexExpression": { - "id": 919, + "id": 44868, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "16978:7:0", + "referencedDeclaration": 44862, + "src": "16978:7:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12852,7 +12852,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "16968:18:0", + "src": "16968:18:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12861,53 +12861,53 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 921, + "id": 44870, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, - "src": "16990:6:0", + "referencedDeclaration": 44864, + "src": "16990:6:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16968:28:0", + "src": "16968:28:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 923, + "id": 44872, "nodeType": "ExpressionStatement", - "src": "16968:28:0" + "src": "16968:28:26" } ] }, "documentation": { - "id": 911, + "id": 44860, "nodeType": "StructuredDocumentation", - "src": "16415:409:0", + "src": "16415:409:26", "text": " @dev Unsafe write access to the balances, used by extensions that \"mint\" tokens using an {ownerOf} override.\n WARNING: Anyone calling this MUST ensure that the balances remain consistent with the ownership. The invariant\n being that for any address `a` the value returned by `balanceOf(a)` must be equal to the number of tokens such\n that `ownerOf(tokenId)` is `a`." }, "implemented": true, "kind": "function", "modifiers": [], "name": "__unsafe_increaseBalance", - "nameLocation": "16891:24:0", + "nameLocation": "16891:24:26", "parameters": { - "id": 916, + "id": 44865, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 913, + "id": 44862, "mutability": "mutable", "name": "account", - "nameLocation": "16924:7:0", + "nameLocation": "16924:7:26", "nodeType": "VariableDeclaration", - "scope": 925, - "src": "16916:15:0", + "scope": 44874, + "src": "16916:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12915,10 +12915,10 @@ "typeString": "address" }, "typeName": { - "id": 912, + "id": 44861, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16916:7:0", + "src": "16916:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12929,13 +12929,13 @@ }, { "constant": false, - "id": 915, + "id": 44864, "mutability": "mutable", "name": "amount", - "nameLocation": "16941:6:0", + "nameLocation": "16941:6:26", "nodeType": "VariableDeclaration", - "scope": 925, - "src": "16933:14:0", + "scope": 44874, + "src": "16933:14:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12943,10 +12943,10 @@ "typeString": "uint256" }, "typeName": { - "id": 914, + "id": 44863, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16933:7:0", + "src": "16933:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12955,15 +12955,15 @@ "visibility": "internal" } ], - "src": "16915:33:0" + "src": "16915:33:26" }, "returnParameters": { - "id": 917, + "id": 44866, "nodeType": "ParameterList", "parameters": [], - "src": "16958:0:0" + "src": "16958:0:26" }, - "scope": 926, + "scope": 44875, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" @@ -12973,95 +12973,95 @@ "baseContracts": [ { "baseName": { - "id": 10, + "id": 43959, "name": "Context", "nameLocations": [ - "647:7:0" + "647:7:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1439, - "src": "647:7:0" + "referencedDeclaration": 45388, + "src": "647:7:26" }, - "id": 11, + "id": 43960, "nodeType": "InheritanceSpecifier", - "src": "647:7:0" + "src": "647:7:26" }, { "baseName": { - "id": 12, + "id": 43961, "name": "ERC165", "nameLocations": [ - "656:6:0" + "656:6:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1692, - "src": "656:6:0" + "referencedDeclaration": 45641, + "src": "656:6:26" }, - "id": 13, + "id": 43962, "nodeType": "InheritanceSpecifier", - "src": "656:6:0" + "src": "656:6:26" }, { "baseName": { - "id": 14, + "id": 43963, "name": "IERC721", "nameLocations": [ - "664:7:0" + "664:7:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1042, - "src": "664:7:0" + "referencedDeclaration": 44991, + "src": "664:7:26" }, - "id": 15, + "id": 43964, "nodeType": "InheritanceSpecifier", - "src": "664:7:0" + "src": "664:7:26" }, { "baseName": { - "id": 16, + "id": 43965, "name": "IERC721Metadata", "nameLocations": [ - "673:15:0" + "673:15:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1087, - "src": "673:15:0" + "referencedDeclaration": 45036, + "src": "673:15:26" }, - "id": 17, + "id": 43966, "nodeType": "InheritanceSpecifier", - "src": "673:15:0" + "src": "673:15:26" } ], "canonicalName": "ERC721", "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 9, + "id": 43958, "nodeType": "StructuredDocumentation", - "src": "381:246:0", + "src": "381:246:26", "text": " @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n the Metadata extension, but not including the Enumerable extension, which is available separately as\n {ERC721Enumerable}." }, "fullyImplemented": true, "linearizedBaseContracts": [ - 926, - 1087, - 1042, - 1692, - 1704, - 1439 + 44875, + 45036, + 44991, + 45641, + 45653, + 45388 ], "name": "ERC721", - "nameLocation": "637:6:0", - "scope": 927, + "nameLocation": "637:6:26", + "scope": 44876, "usedErrors": [], "usedEvents": [ - 941, - 950, - 959 + 44890, + 44899, + 44908 ] } ], "license": "MIT" }, - "id": 0 + "id": 26 } \ No newline at end of file diff --git a/tests/contract-playground/out/ExtendedInheritance.sol/ExtendedInheritance.json b/tests/contract-playground/out/ExtendedInheritance.sol/ExtendedInheritance.json index 109834f28..0caa45421 100644 --- a/tests/contract-playground/out/ExtendedInheritance.sol/ExtendedInheritance.json +++ b/tests/contract-playground/out/ExtendedInheritance.sol/ExtendedInheritance.json @@ -102,12 +102,12 @@ ], "bytecode": { "object": "0x608060405234801561001057600080fd5b50610309806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80637277d9d214610046578063a5666fa21461005b578063a6b206bf1461008a575b600080fd5b6100596100543660046101f3565b61009d565b005b61006e610069366004610223565b610155565b6040516001600160a01b03909116815260200160405180910390f35b610059610098366004610264565b6101bd565b60005b600381101561015157816001600160a01b0316816040516024016100c691815260200190565b60408051601f198184030181529181526020820180516001600160e01b031663a6b206bf60e01b179052516100fb919061027d565b600060405180830381855af49150503d8060008114610136576040519150601f19603f3d011682016040523d82523d6000602084013e61013b565b606091505b5050508080610149906102ac565b9150506100a0565b5050565b6040805160008082526020820180845284905260ff871692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156101a9573d6000803e3d6000fd5b5050604051601f1901519695505050505050565b6040518181527f33782d62d9804c35aa012275d93a348a1ce28d2558032fbf95b540356f7c900a9060200160405180910390a150565b60006020828403121561020557600080fd5b81356001600160a01b038116811461021c57600080fd5b9392505050565b6000806000806080858703121561023957600080fd5b843560ff8116811461024a57600080fd5b966020860135965060408601359560600135945092505050565b60006020828403121561027657600080fd5b5035919050565b6000825160005b8181101561029e5760208186018101518583015201610284565b506000920191825250919050565b6000600182016102cc57634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220a02ca790256ebffb654aa468e016bdd1462c8e5a84edd2241e7354feda93944264736f6c63430008140033", - "sourceMap": "90:651:42:-:0;;;;;;;;;;;;;;;;;;;", + "sourceMap": "90:651:49:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80637277d9d214610046578063a5666fa21461005b578063a6b206bf1461008a575b600080fd5b6100596100543660046101f3565b61009d565b005b61006e610069366004610223565b610155565b6040516001600160a01b03909116815260200160405180910390f35b610059610098366004610264565b6101bd565b60005b600381101561015157816001600160a01b0316816040516024016100c691815260200190565b60408051601f198184030181529181526020820180516001600160e01b031663a6b206bf60e01b179052516100fb919061027d565b600060405180830381855af49150503d8060008114610136576040519150601f19603f3d011682016040523d82523d6000602084013e61013b565b606091505b5050508080610149906102ac565b9150506100a0565b5050565b6040805160008082526020820180845284905260ff871692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156101a9573d6000803e3d6000fd5b5050604051601f1901519695505050505050565b6040518181527f33782d62d9804c35aa012275d93a348a1ce28d2558032fbf95b540356f7c900a9060200160405180910390a150565b60006020828403121561020557600080fd5b81356001600160a01b038116811461021c57600080fd5b9392505050565b6000806000806080858703121561023957600080fd5b843560ff8116811461024a57600080fd5b966020860135965060408601359560600135945092505050565b60006020828403121561027657600080fd5b5035919050565b6000825160005b8181101561029e5760208186018101518583015201610284565b506000920191825250919050565b6000600182016102cc57634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220a02ca790256ebffb654aa468e016bdd1462c8e5a84edd2241e7354feda93944264736f6c63430008140033", - "sourceMap": "90:651:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;382:194;;;;;;:::i;:::-;;:::i;:::-;;582:157;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;948:32:48;;;930:51;;918:2;903:18;582:157:42;;;;;;;262:114;;;;;;:::i;:::-;;:::i;382:194::-;447:9;442:128;466:1;462;:5;442:128;;;488:6;-1:-1:-1;;;;;488:19:42;556:1;508:50;;;;;;1323:25:48;;1311:2;1296:18;;1177:177;508:50:42;;;;-1:-1:-1;;508:50:42;;;;;;;;;;;;;;-1:-1:-1;;;;;508:50:42;-1:-1:-1;;;508:50:42;;;488:71;;;508:50;488:71;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;469:3;;;;;:::i;:::-;;;;442:128;;;;382:194;:::o;582:157::-;705:27;;;679:7;705:27;;;;;;;;;2240:25:48;;;2313:4;2301:17;;2281:18;;;2274:45;;;;2335:18;;;2328:34;;;2378:18;;;2371:34;;;705:27:42;;2212:19:48;;705:27:42;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;705:27:42;;-1:-1:-1;;705:27:42;;;582:157;-1:-1:-1;;;;;;582:157:42:o;262:114::-;339:30;;1323:25:48;;;339:30:42;;1311:2:48;1296:18;339:30:42;;;;;;;262:114;:::o;14:286:48:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:48;;210:42;;200:70;;266:1;263;256:12;200:70;289:5;14:286;-1:-1:-1;;;14:286:48:o;305:474::-;389:6;397;405;413;466:3;454:9;445:7;441:23;437:33;434:53;;;483:1;480;473:12;434:53;522:9;509:23;572:4;565:5;561:16;554:5;551:27;541:55;;592:1;589;582:12;541:55;615:5;667:2;652:18;;639:32;;-1:-1:-1;718:2:48;703:18;;690:32;;769:2;754:18;741:32;;-1:-1:-1;305:474:48;-1:-1:-1;;;305:474:48:o;992:180::-;1051:6;1104:2;1092:9;1083:7;1079:23;1075:32;1072:52;;;1120:1;1117;1110:12;1072:52;-1:-1:-1;1143:23:48;;992:180;-1:-1:-1;992:180:48:o;1359:412::-;1488:3;1526:6;1520:13;1551:1;1561:129;1575:6;1572:1;1569:13;1561:129;;;1673:4;1657:14;;;1653:25;;1647:32;1634:11;;;1627:53;1590:12;1561:129;;;-1:-1:-1;1745:1:48;1709:16;;1734:13;;;-1:-1:-1;1709:16:48;1359:412;-1:-1:-1;1359:412:48:o;1776:232::-;1815:3;1836:17;;;1833:140;;1895:10;1890:3;1886:20;1883:1;1876:31;1930:4;1927:1;1920:15;1958:4;1955:1;1948:15;1833:140;-1:-1:-1;2000:1:48;1989:13;;1776:232::o", + "sourceMap": "90:651:49:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;382:194;;;;;;:::i;:::-;;:::i;:::-;;582:157;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;948:32:55;;;930:51;;918:2;903:18;582:157:49;;;;;;;262:114;;;;;;:::i;:::-;;:::i;382:194::-;447:9;442:128;466:1;462;:5;442:128;;;488:6;-1:-1:-1;;;;;488:19:49;556:1;508:50;;;;;;1323:25:55;;1311:2;1296:18;;1177:177;508:50:49;;;;-1:-1:-1;;508:50:49;;;;;;;;;;;;;;-1:-1:-1;;;;;508:50:49;-1:-1:-1;;;508:50:49;;;488:71;;;508:50;488:71;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;469:3;;;;;:::i;:::-;;;;442:128;;;;382:194;:::o;582:157::-;705:27;;;679:7;705:27;;;;;;;;;2240:25:55;;;2313:4;2301:17;;2281:18;;;2274:45;;;;2335:18;;;2328:34;;;2378:18;;;2371:34;;;705:27:49;;2212:19:55;;705:27:49;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;705:27:49;;-1:-1:-1;;705:27:49;;;582:157;-1:-1:-1;;;;;;582:157:49:o;262:114::-;339:30;;1323:25:55;;;339:30:49;;1311:2:55;1296:18;339:30:49;;;;;;;262:114;:::o;14:286:55:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:55;;210:42;;200:70;;266:1;263;256:12;200:70;289:5;14:286;-1:-1:-1;;;14:286:55:o;305:474::-;389:6;397;405;413;466:3;454:9;445:7;441:23;437:33;434:53;;;483:1;480;473:12;434:53;522:9;509:23;572:4;565:5;561:16;554:5;551:27;541:55;;592:1;589;582:12;541:55;615:5;667:2;652:18;;639:32;;-1:-1:-1;718:2:55;703:18;;690:32;;769:2;754:18;741:32;;-1:-1:-1;305:474:55;-1:-1:-1;;;305:474:55:o;992:180::-;1051:6;1104:2;1092:9;1083:7;1079:23;1075:32;1072:52;;;1120:1;1117;1110:12;1072:52;-1:-1:-1;1143:23:55;;992:180;-1:-1:-1;992:180:55:o;1359:412::-;1488:3;1526:6;1520:13;1551:1;1561:129;1575:6;1572:1;1569:13;1561:129;;;1673:4;1657:14;;;1653:25;;1647:32;1634:11;;;1627:53;1590:12;1561:129;;;-1:-1:-1;1745:1:55;1709:16;;1734:13;;;-1:-1:-1;1709:16:55;1359:412;-1:-1:-1;1359:412:55:o;1776:232::-;1815:3;1836:17;;;1833:140;;1895:10;1890:3;1886:20;1883:1;1876:31;1930:4;1927:1;1920:15;1958:4;1955:1;1948:15;1833:140;-1:-1:-1;2000:1:55;1989:13;;1776:232::o", "linkReferences": {} }, "methodIdentifiers": { @@ -284,25 +284,25 @@ }, "ast": { "absolutePath": "src/inheritance/ExtendedInheritance.sol", - "id": 46993, + "id": 48182, "exportedSymbols": { "ExtendedInheritance": [ - 46992 + 48181 ], "IContractInheritance": [ - 47000 + 48189 ], "InheritanceBase": [ - 47020 + 48209 ] }, "nodeType": "SourceUnit", - "src": "32:710:42", + "src": "32:710:49", "nodes": [ { - "id": 46920, + "id": 48109, "nodeType": "PragmaDirective", - "src": "32:23:42", + "src": "32:23:49", "nodes": [], "literals": [ "solidity", @@ -311,46 +311,46 @@ ] }, { - "id": 46921, + "id": 48110, "nodeType": "ImportDirective", - "src": "57:31:42", + "src": "57:31:49", "nodes": [], "absolutePath": "src/inheritance/InheritanceBase.sol", "file": "./InheritanceBase.sol", "nameLocation": "-1:-1:-1", - "scope": 46993, - "sourceUnit": 47021, + "scope": 48182, + "sourceUnit": 48210, "symbolAliases": [], "unitAlias": "" }, { - "id": 46992, + "id": 48181, "nodeType": "ContractDefinition", - "src": "90:651:42", + "src": "90:651:49", "nodes": [ { - "id": 46927, + "id": 48116, "nodeType": "EventDefinition", - "src": "144:45:42", + "src": "144:45:49", "nodes": [], "anonymous": false, "eventSelector": "33782d62d9804c35aa012275d93a348a1ce28d2558032fbf95b540356f7c900a", "name": "DoSomethingElse", - "nameLocation": "150:15:42", + "nameLocation": "150:15:49", "parameters": { - "id": 46926, + "id": 48115, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46925, + "id": 48114, "indexed": false, "mutability": "mutable", "name": "somethingElse", - "nameLocation": "174:13:42", + "nameLocation": "174:13:49", "nodeType": "VariableDeclaration", - "scope": 46927, - "src": "166:21:42", + "scope": 48116, + "src": "166:21:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -358,10 +358,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46924, + "id": 48113, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "166:7:42", + "src": "166:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -370,32 +370,32 @@ "visibility": "internal" } ], - "src": "165:23:42" + "src": "165:23:49" } }, { - "id": 46931, + "id": 48120, "nodeType": "EventDefinition", - "src": "194:62:42", + "src": "194:62:49", "nodes": [], "anonymous": false, "eventSelector": "61efaa923c63b015b841f3ed0f3f80827595f852bab2462bb07a2eeeded94302", "name": "DoSomethingElseWithIndex", - "nameLocation": "200:24:42", + "nameLocation": "200:24:49", "parameters": { - "id": 46930, + "id": 48119, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46929, + "id": 48118, "indexed": true, "mutability": "mutable", "name": "somethingElse", - "nameLocation": "241:13:42", + "nameLocation": "241:13:49", "nodeType": "VariableDeclaration", - "scope": 46931, - "src": "225:29:42", + "scope": 48120, + "src": "225:29:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -403,10 +403,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46928, + "id": 48117, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "225:7:42", + "src": "225:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -415,30 +415,30 @@ "visibility": "internal" } ], - "src": "224:31:42" + "src": "224:31:49" } }, { - "id": 46942, + "id": 48131, "nodeType": "FunctionDefinition", - "src": "262:114:42", + "src": "262:114:49", "nodes": [], "body": { - "id": 46941, + "id": 48130, "nodeType": "Block", - "src": "324:52:42", + "src": "324:52:49", "nodes": [], "statements": [ { "eventCall": { "arguments": [ { - "id": 46938, + "id": 48127, "name": "somethingElse", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46933, - "src": "355:13:42", + "referencedDeclaration": 48122, + "src": "355:13:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -452,18 +452,18 @@ "typeString": "uint256" } ], - "id": 46937, + "id": 48126, "name": "DoSomethingElse", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46927, - "src": "339:15:42", + "referencedDeclaration": 48116, + "src": "339:15:49", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 46939, + "id": 48128, "isConstant": false, "isLValue": false, "isPure": false, @@ -472,47 +472,47 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "339:30:42", + "src": "339:30:49", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 46940, + "id": 48129, "nodeType": "EmitStatement", - "src": "334:35:42" + "src": "334:35:49" } ] }, "baseFunctions": [ - 47019 + 48208 ], "functionSelector": "a6b206bf", "implemented": true, "kind": "function", "modifiers": [], "name": "doSomething", - "nameLocation": "271:11:42", + "nameLocation": "271:11:49", "overrides": { - "id": 46935, + "id": 48124, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "315:8:42" + "src": "315:8:49" }, "parameters": { - "id": 46934, + "id": 48123, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46933, + "id": 48122, "mutability": "mutable", "name": "somethingElse", - "nameLocation": "291:13:42", + "nameLocation": "291:13:49", "nodeType": "VariableDeclaration", - "scope": 46942, - "src": "283:21:42", + "scope": 48131, + "src": "283:21:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -520,10 +520,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46932, + "id": 48121, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "283:7:42", + "src": "283:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -532,35 +532,35 @@ "visibility": "internal" } ], - "src": "282:23:42" + "src": "282:23:49" }, "returnParameters": { - "id": 46936, + "id": 48125, "nodeType": "ParameterList", "parameters": [], - "src": "324:0:42" + "src": "324:0:49" }, - "scope": 46992, + "scope": 48181, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 46970, + "id": 48159, "nodeType": "FunctionDefinition", - "src": "382:194:42", + "src": "382:194:49", "nodes": [], "body": { - "id": 46969, + "id": 48158, "nodeType": "Block", - "src": "432:144:42", + "src": "432:144:49", "nodes": [], "statements": [ { "body": { - "id": 46967, + "id": 48156, "nodeType": "Block", - "src": "474:96:42", + "src": "474:96:49", "statements": [ { "expression": { @@ -569,14 +569,14 @@ "arguments": [ { "hexValue": "646f536f6d657468696e672875696e7432353629", - "id": 46962, + "id": 48151, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "532:22:42", + "src": "532:22:49", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a6b206bfa97d773242e378b60bbb7b683c51e1efe4e40012bff7fb7582e29592", "typeString": "literal_string \"doSomething(uint256)\"" @@ -584,12 +584,12 @@ "value": "doSomething(uint256)" }, { - "id": 46963, + "id": 48152, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46948, - "src": "556:1:42", + "referencedDeclaration": 48137, + "src": "556:1:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -608,32 +608,32 @@ } ], "expression": { - "id": 46960, + "id": 48149, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "508:3:42", + "src": "508:3:49", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 46961, + "id": 48150, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "512:19:42", + "memberLocation": "512:19:49", "memberName": "encodeWithSignature", "nodeType": "MemberAccess", - "src": "508:23:42", + "src": "508:23:49", "typeDescriptions": { "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (string memory) pure returns (bytes memory)" } }, - "id": 46964, + "id": 48153, "isConstant": false, "isLValue": false, "isPure": false, @@ -642,7 +642,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "508:50:42", + "src": "508:50:49", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -658,32 +658,32 @@ } ], "expression": { - "id": 46957, + "id": 48146, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46944, - "src": "488:6:42", + "referencedDeclaration": 48133, + "src": "488:6:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 46959, + "id": 48148, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "495:12:42", + "memberLocation": "495:12:49", "memberName": "delegatecall", "nodeType": "MemberAccess", - "src": "488:19:42", + "src": "488:19:49", "typeDescriptions": { "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) returns (bool,bytes memory)" } }, - "id": 46965, + "id": 48154, "isConstant": false, "isLValue": false, "isPure": false, @@ -692,16 +692,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "488:71:42", + "src": "488:71:49", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, - "id": 46966, + "id": 48155, "nodeType": "ExpressionStatement", - "src": "488:71:42" + "src": "488:71:49" } ] }, @@ -710,18 +710,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 46953, + "id": 48142, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 46951, + "id": 48140, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46948, - "src": "462:1:42", + "referencedDeclaration": 48137, + "src": "462:1:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -731,41 +731,41 @@ "operator": "<", "rightExpression": { "hexValue": "33", - "id": 46952, + "id": 48141, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "466:1:42", + "src": "466:1:49", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" }, "value": "3" }, - "src": "462:5:42", + "src": "462:5:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 46968, + "id": 48157, "initializationExpression": { "assignments": [ - 46948 + 48137 ], "declarations": [ { "constant": false, - "id": 46948, + "id": 48137, "mutability": "mutable", "name": "i", - "nameLocation": "455:1:42", + "nameLocation": "455:1:49", "nodeType": "VariableDeclaration", - "scope": 46968, - "src": "447:9:42", + "scope": 48157, + "src": "447:9:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -773,10 +773,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46947, + "id": 48136, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "447:7:42", + "src": "447:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -785,17 +785,17 @@ "visibility": "internal" } ], - "id": 46950, + "id": 48139, "initialValue": { "hexValue": "30", - "id": 46949, + "id": 48138, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "459:1:42", + "src": "459:1:49", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -803,11 +803,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "447:13:42" + "src": "447:13:49" }, "loopExpression": { "expression": { - "id": 46955, + "id": 48144, "isConstant": false, "isLValue": false, "isPure": false, @@ -815,14 +815,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "469:3:42", + "src": "469:3:49", "subExpression": { - "id": 46954, + "id": 48143, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46948, - "src": "469:1:42", + "referencedDeclaration": 48137, + "src": "469:1:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -833,12 +833,12 @@ "typeString": "uint256" } }, - "id": 46956, + "id": 48145, "nodeType": "ExpressionStatement", - "src": "469:3:42" + "src": "469:3:49" }, "nodeType": "ForStatement", - "src": "442:128:42" + "src": "442:128:49" } ] }, @@ -847,20 +847,20 @@ "kind": "function", "modifiers": [], "name": "doSomethingElse", - "nameLocation": "391:15:42", + "nameLocation": "391:15:49", "parameters": { - "id": 46945, + "id": 48134, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46944, + "id": 48133, "mutability": "mutable", "name": "target", - "nameLocation": "415:6:42", + "nameLocation": "415:6:49", "nodeType": "VariableDeclaration", - "scope": 46970, - "src": "407:14:42", + "scope": 48159, + "src": "407:14:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -868,10 +868,10 @@ "typeString": "address" }, "typeName": { - "id": 46943, + "id": 48132, "name": "address", "nodeType": "ElementaryTypeName", - "src": "407:7:42", + "src": "407:7:49", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -881,76 +881,76 @@ "visibility": "internal" } ], - "src": "406:16:42" + "src": "406:16:49" }, "returnParameters": { - "id": 46946, + "id": 48135, "nodeType": "ParameterList", "parameters": [], - "src": "432:0:42" + "src": "432:0:49" }, - "scope": 46992, + "scope": 48181, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 46991, + "id": 48180, "nodeType": "FunctionDefinition", - "src": "582:157:42", + "src": "582:157:49", "nodes": [], "body": { - "id": 46990, + "id": 48179, "nodeType": "Block", - "src": "688:51:42", + "src": "688:51:49", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 46984, + "id": 48173, "name": "theHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46978, - "src": "715:7:42", + "referencedDeclaration": 48167, + "src": "715:7:49", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 46985, + "id": 48174, "name": "v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46972, - "src": "724:1:42", + "referencedDeclaration": 48161, + "src": "724:1:49", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 46986, + "id": 48175, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46974, - "src": "727:1:42", + "referencedDeclaration": 48163, + "src": "727:1:49", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 46987, + "id": 48176, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46976, - "src": "730:1:42", + "referencedDeclaration": 48165, + "src": "730:1:49", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -976,18 +976,18 @@ "typeString": "bytes32" } ], - "id": 46983, + "id": 48172, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -6, - "src": "705:9:42", + "src": "705:9:49", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 46988, + "id": 48177, "isConstant": false, "isLValue": false, "isPure": false, @@ -996,17 +996,17 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "705:27:42", + "src": "705:27:49", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 46982, - "id": 46989, + "functionReturnParameters": 48171, + "id": 48178, "nodeType": "Return", - "src": "698:34:42" + "src": "698:34:49" } ] }, @@ -1015,20 +1015,20 @@ "kind": "function", "modifiers": [], "name": "recoverThatThang", - "nameLocation": "591:16:42", + "nameLocation": "591:16:49", "parameters": { - "id": 46979, + "id": 48168, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46972, + "id": 48161, "mutability": "mutable", "name": "v", - "nameLocation": "614:1:42", + "nameLocation": "614:1:49", "nodeType": "VariableDeclaration", - "scope": 46991, - "src": "608:7:42", + "scope": 48180, + "src": "608:7:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1036,10 +1036,10 @@ "typeString": "uint8" }, "typeName": { - "id": 46971, + "id": 48160, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "608:5:42", + "src": "608:5:49", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1049,13 +1049,13 @@ }, { "constant": false, - "id": 46974, + "id": 48163, "mutability": "mutable", "name": "r", - "nameLocation": "625:1:42", + "nameLocation": "625:1:49", "nodeType": "VariableDeclaration", - "scope": 46991, - "src": "617:9:42", + "scope": 48180, + "src": "617:9:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1063,10 +1063,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 46973, + "id": 48162, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "617:7:42", + "src": "617:7:49", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1076,13 +1076,13 @@ }, { "constant": false, - "id": 46976, + "id": 48165, "mutability": "mutable", "name": "s", - "nameLocation": "636:1:42", + "nameLocation": "636:1:49", "nodeType": "VariableDeclaration", - "scope": 46991, - "src": "628:9:42", + "scope": 48180, + "src": "628:9:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1090,10 +1090,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 46975, + "id": 48164, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "628:7:42", + "src": "628:7:49", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1103,13 +1103,13 @@ }, { "constant": false, - "id": 46978, + "id": 48167, "mutability": "mutable", "name": "theHash", - "nameLocation": "647:7:42", + "nameLocation": "647:7:49", "nodeType": "VariableDeclaration", - "scope": 46991, - "src": "639:15:42", + "scope": 48180, + "src": "639:15:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1117,10 +1117,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 46977, + "id": 48166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "639:7:42", + "src": "639:7:49", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1129,21 +1129,21 @@ "visibility": "internal" } ], - "src": "607:48:42" + "src": "607:48:49" }, "returnParameters": { - "id": 46982, + "id": 48171, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46981, + "id": 48170, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 46991, - "src": "679:7:42", + "scope": 48180, + "src": "679:7:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1151,10 +1151,10 @@ "typeString": "address" }, "typeName": { - "id": 46980, + "id": 48169, "name": "address", "nodeType": "ElementaryTypeName", - "src": "679:7:42", + "src": "679:7:49", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1164,9 +1164,9 @@ "visibility": "internal" } ], - "src": "678:9:42" + "src": "678:9:49" }, - "scope": 46992, + "scope": 48181, "stateMutability": "pure", "virtual": false, "visibility": "external" @@ -1176,18 +1176,18 @@ "baseContracts": [ { "baseName": { - "id": 46922, + "id": 48111, "name": "InheritanceBase", "nameLocations": [ - "122:15:42" + "122:15:49" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 47020, - "src": "122:15:42" + "referencedDeclaration": 48209, + "src": "122:15:49" }, - "id": 46923, + "id": 48112, "nodeType": "InheritanceSpecifier", - "src": "122:15:42" + "src": "122:15:49" } ], "canonicalName": "ExtendedInheritance", @@ -1195,22 +1195,22 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 46992, - 47020, - 47000 + 48181, + 48209, + 48189 ], "name": "ExtendedInheritance", - "nameLocation": "99:19:42", - "scope": 46993, + "nameLocation": "99:19:49", + "scope": 48182, "usedErrors": [], "usedEvents": [ - 46927, - 46931, - 47009 + 48116, + 48120, + 48198 ] } ], "license": "MIT" }, - "id": 42 + "id": 49 } \ No newline at end of file diff --git a/tests/contract-playground/out/IAccessControl.sol/IAccessControl.json b/tests/contract-playground/out/IAccessControl.sol/IAccessControl.json index 756e44030..a22707300 100644 --- a/tests/contract-playground/out/IAccessControl.sol/IAccessControl.json +++ b/tests/contract-playground/out/IAccessControl.sol/IAccessControl.json @@ -190,7 +190,7 @@ "renounceRole(bytes32,address)": "36568abe", "revokeRole(bytes32,address)": "d547741f" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"External interface of AccessControl declared to support ERC165 detection.\",\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":\"IAccessControl\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"External interface of AccessControl declared to support ERC165 detection.\",\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":\"IAccessControl\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -402,7 +402,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/IContractInheritance.sol/IContractInheritance.json b/tests/contract-playground/out/IContractInheritance.sol/IContractInheritance.json index c38d34117..fc034f32d 100644 --- a/tests/contract-playground/out/IContractInheritance.sol/IContractInheritance.json +++ b/tests/contract-playground/out/IContractInheritance.sol/IContractInheritance.json @@ -95,19 +95,19 @@ }, "ast": { "absolutePath": "src/inheritance/IContractInheritance.sol", - "id": 47001, + "id": 48190, "exportedSymbols": { "IContractInheritance": [ - 47000 + 48189 ] }, "nodeType": "SourceUnit", - "src": "32:115:43", + "src": "32:115:50", "nodes": [ { - "id": 46994, + "id": 48183, "nodeType": "PragmaDirective", - "src": "32:24:43", + "src": "32:24:50", "nodes": [], "literals": [ "solidity", @@ -117,34 +117,34 @@ ] }, { - "id": 47000, + "id": 48189, "nodeType": "ContractDefinition", - "src": "58:88:43", + "src": "58:88:50", "nodes": [ { - "id": 46999, + "id": 48188, "nodeType": "FunctionDefinition", - "src": "95:49:43", + "src": "95:49:50", "nodes": [], "functionSelector": "a6b206bf", "implemented": false, "kind": "function", "modifiers": [], "name": "doSomething", - "nameLocation": "104:11:43", + "nameLocation": "104:11:50", "parameters": { - "id": 46997, + "id": 48186, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46996, + "id": 48185, "mutability": "mutable", "name": "something", - "nameLocation": "124:9:43", + "nameLocation": "124:9:50", "nodeType": "VariableDeclaration", - "scope": 46999, - "src": "116:17:43", + "scope": 48188, + "src": "116:17:50", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -152,10 +152,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46995, + "id": 48184, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "116:7:43", + "src": "116:7:50", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -164,15 +164,15 @@ "visibility": "internal" } ], - "src": "115:19:43" + "src": "115:19:50" }, "returnParameters": { - "id": 46998, + "id": 48187, "nodeType": "ParameterList", "parameters": [], - "src": "143:0:43" + "src": "143:0:50" }, - "scope": 47000, + "scope": 48189, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -185,16 +185,16 @@ "contractKind": "interface", "fullyImplemented": false, "linearizedBaseContracts": [ - 47000 + 48189 ], "name": "IContractInheritance", - "nameLocation": "68:20:43", - "scope": 47001, + "nameLocation": "68:20:50", + "scope": 48190, "usedErrors": [], "usedEvents": [] } ], "license": "MIT" }, - "id": 43 + "id": 50 } \ No newline at end of file diff --git a/tests/contract-playground/out/IERC165.sol/IERC165.json b/tests/contract-playground/out/IERC165.sol/IERC165.json index 09bfd1e2e..f91799da1 100644 --- a/tests/contract-playground/out/IERC165.sol/IERC165.json +++ b/tests/contract-playground/out/IERC165.sol/IERC165.json @@ -33,7 +33,7 @@ "methodIdentifiers": { "supportsInterface(bytes4)": "01ffc9a7" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -83,7 +83,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, @@ -111,19 +112,19 @@ }, "ast": { "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol", - "id": 44566, + "id": 45654, "exportedSymbols": { "IERC165": [ - 44565 + 45653 ] }, "nodeType": "SourceUnit", - "src": "100:753:30", + "src": "100:753:34", "nodes": [ { - "id": 44555, + "id": 45643, "nodeType": "PragmaDirective", - "src": "100:23:30", + "src": "100:23:34", "nodes": [], "literals": [ "solidity", @@ -133,19 +134,19 @@ ] }, { - "id": 44565, + "id": 45653, "nodeType": "ContractDefinition", - "src": "405:447:30", + "src": "405:447:34", "nodes": [ { - "id": 44564, + "id": 45652, "nodeType": "FunctionDefinition", - "src": "774:76:30", + "src": "774:76:34", "nodes": [], "documentation": { - "id": 44557, + "id": 45645, "nodeType": "StructuredDocumentation", - "src": "429:340:30", + "src": "429:340:34", "text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas." }, "functionSelector": "01ffc9a7", @@ -153,20 +154,20 @@ "kind": "function", "modifiers": [], "name": "supportsInterface", - "nameLocation": "783:17:30", + "nameLocation": "783:17:34", "parameters": { - "id": 44560, + "id": 45648, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44559, + "id": 45647, "mutability": "mutable", "name": "interfaceId", - "nameLocation": "808:11:30", + "nameLocation": "808:11:34", "nodeType": "VariableDeclaration", - "scope": 44564, - "src": "801:18:30", + "scope": 45652, + "src": "801:18:34", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -174,10 +175,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 44558, + "id": 45646, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "801:6:30", + "src": "801:6:34", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -186,21 +187,21 @@ "visibility": "internal" } ], - "src": "800:20:30" + "src": "800:20:34" }, "returnParameters": { - "id": 44563, + "id": 45651, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44562, + "id": 45650, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44564, - "src": "844:4:30", + "scope": 45652, + "src": "844:4:34", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -208,10 +209,10 @@ "typeString": "bool" }, "typeName": { - "id": 44561, + "id": 45649, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "844:4:30", + "src": "844:4:34", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -220,9 +221,9 @@ "visibility": "internal" } ], - "src": "843:6:30" + "src": "843:6:34" }, - "scope": 44565, + "scope": 45653, "stateMutability": "view", "virtual": false, "visibility": "external" @@ -234,23 +235,23 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 44556, + "id": 45644, "nodeType": "StructuredDocumentation", - "src": "125:279:30", + "src": "125:279:34", "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}." }, "fullyImplemented": false, "linearizedBaseContracts": [ - 44565 + 45653 ], "name": "IERC165", - "nameLocation": "415:7:30", - "scope": 44566, + "nameLocation": "415:7:34", + "scope": 45654, "usedErrors": [], "usedEvents": [] } ], "license": "MIT" }, - "id": 30 + "id": 34 } \ No newline at end of file diff --git a/tests/contract-playground/out/IERC20.sol/IERC20.json b/tests/contract-playground/out/IERC20.sol/IERC20.json index a21ab816a..ca1483cf1 100644 --- a/tests/contract-playground/out/IERC20.sol/IERC20.json +++ b/tests/contract-playground/out/IERC20.sol/IERC20.json @@ -202,7 +202,7 @@ "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -431,7 +431,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/IERC20Permit.sol/IERC20Permit.json b/tests/contract-playground/out/IERC20Permit.sol/IERC20Permit.json index b028fa4bf..fb211f910 100644 --- a/tests/contract-playground/out/IERC20Permit.sol/IERC20Permit.json +++ b/tests/contract-playground/out/IERC20Permit.sol/IERC20Permit.json @@ -91,7 +91,7 @@ "nonces(address)": "7ecebe00", "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section].\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section].\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -202,7 +202,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/IERC721.sol/IERC721.json b/tests/contract-playground/out/IERC721.sol/IERC721.json index 868cc14eb..ebe695c5b 100644 --- a/tests/contract-playground/out/IERC721.sol/IERC721.json +++ b/tests/contract-playground/out/IERC721.sol/IERC721.json @@ -683,22 +683,22 @@ }, "ast": { "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol", - "id": 1043, + "id": 44992, "exportedSymbols": { "IERC165": [ - 1704 + 45653 ], "IERC721": [ - 1042 + 44991 ] }, "nodeType": "SourceUnit", - "src": "108:4769:1", + "src": "108:4769:27", "nodes": [ { - "id": 928, + "id": 44877, "nodeType": "PragmaDirective", - "src": "108:23:1", + "src": "108:23:27", "nodes": [], "literals": [ "solidity", @@ -708,52 +708,52 @@ ] }, { - "id": 929, + "id": 44878, "nodeType": "ImportDirective", - "src": "133:47:1", + "src": "133:47:27", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol", "file": "../../utils/introspection/IERC165.sol", "nameLocation": "-1:-1:-1", - "scope": 1043, - "sourceUnit": 1705, + "scope": 44992, + "sourceUnit": 45654, "symbolAliases": [], "unitAlias": "" }, { - "id": 1042, + "id": 44991, "nodeType": "ContractDefinition", - "src": "250:4626:1", + "src": "250:4626:27", "nodes": [ { - "id": 941, + "id": 44890, "nodeType": "EventDefinition", - "src": "378:82:1", + "src": "378:82:27", "nodes": [], "anonymous": false, "documentation": { - "id": 933, + "id": 44882, "nodeType": "StructuredDocumentation", - "src": "285:88:1", + "src": "285:88:27", "text": " @dev Emitted when `tokenId` token is transferred from `from` to `to`." }, "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "name": "Transfer", - "nameLocation": "384:8:1", + "nameLocation": "384:8:27", "parameters": { - "id": 940, + "id": 44889, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 935, + "id": 44884, "indexed": true, "mutability": "mutable", "name": "from", - "nameLocation": "409:4:1", + "nameLocation": "409:4:27", "nodeType": "VariableDeclaration", - "scope": 941, - "src": "393:20:1", + "scope": 44890, + "src": "393:20:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -761,10 +761,10 @@ "typeString": "address" }, "typeName": { - "id": 934, + "id": 44883, "name": "address", "nodeType": "ElementaryTypeName", - "src": "393:7:1", + "src": "393:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -775,14 +775,14 @@ }, { "constant": false, - "id": 937, + "id": 44886, "indexed": true, "mutability": "mutable", "name": "to", - "nameLocation": "431:2:1", + "nameLocation": "431:2:27", "nodeType": "VariableDeclaration", - "scope": 941, - "src": "415:18:1", + "scope": 44890, + "src": "415:18:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -790,10 +790,10 @@ "typeString": "address" }, "typeName": { - "id": 936, + "id": 44885, "name": "address", "nodeType": "ElementaryTypeName", - "src": "415:7:1", + "src": "415:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -804,14 +804,14 @@ }, { "constant": false, - "id": 939, + "id": 44888, "indexed": true, "mutability": "mutable", "name": "tokenId", - "nameLocation": "451:7:1", + "nameLocation": "451:7:27", "nodeType": "VariableDeclaration", - "scope": 941, - "src": "435:23:1", + "scope": 44890, + "src": "435:23:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -819,10 +819,10 @@ "typeString": "uint256" }, "typeName": { - "id": 938, + "id": 44887, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "435:7:1", + "src": "435:7:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -831,38 +831,38 @@ "visibility": "internal" } ], - "src": "392:67:1" + "src": "392:67:27" } }, { - "id": 950, + "id": 44899, "nodeType": "EventDefinition", - "src": "565:89:1", + "src": "565:89:27", "nodes": [], "anonymous": false, "documentation": { - "id": 942, + "id": 44891, "nodeType": "StructuredDocumentation", - "src": "466:94:1", + "src": "466:94:27", "text": " @dev Emitted when `owner` enables `approved` to manage the `tokenId` token." }, "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "name": "Approval", - "nameLocation": "571:8:1", + "nameLocation": "571:8:27", "parameters": { - "id": 949, + "id": 44898, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 944, + "id": 44893, "indexed": true, "mutability": "mutable", "name": "owner", - "nameLocation": "596:5:1", + "nameLocation": "596:5:27", "nodeType": "VariableDeclaration", - "scope": 950, - "src": "580:21:1", + "scope": 44899, + "src": "580:21:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -870,10 +870,10 @@ "typeString": "address" }, "typeName": { - "id": 943, + "id": 44892, "name": "address", "nodeType": "ElementaryTypeName", - "src": "580:7:1", + "src": "580:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -884,14 +884,14 @@ }, { "constant": false, - "id": 946, + "id": 44895, "indexed": true, "mutability": "mutable", "name": "approved", - "nameLocation": "619:8:1", + "nameLocation": "619:8:27", "nodeType": "VariableDeclaration", - "scope": 950, - "src": "603:24:1", + "scope": 44899, + "src": "603:24:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -899,10 +899,10 @@ "typeString": "address" }, "typeName": { - "id": 945, + "id": 44894, "name": "address", "nodeType": "ElementaryTypeName", - "src": "603:7:1", + "src": "603:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -913,14 +913,14 @@ }, { "constant": false, - "id": 948, + "id": 44897, "indexed": true, "mutability": "mutable", "name": "tokenId", - "nameLocation": "645:7:1", + "nameLocation": "645:7:27", "nodeType": "VariableDeclaration", - "scope": 950, - "src": "629:23:1", + "scope": 44899, + "src": "629:23:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -928,10 +928,10 @@ "typeString": "uint256" }, "typeName": { - "id": 947, + "id": 44896, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "629:7:1", + "src": "629:7:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -940,38 +940,38 @@ "visibility": "internal" } ], - "src": "579:74:1" + "src": "579:74:27" } }, { - "id": 959, + "id": 44908, "nodeType": "EventDefinition", - "src": "782:85:1", + "src": "782:85:27", "nodes": [], "anonymous": false, "documentation": { - "id": 951, + "id": 44900, "nodeType": "StructuredDocumentation", - "src": "660:117:1", + "src": "660:117:27", "text": " @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets." }, "eventSelector": "17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31", "name": "ApprovalForAll", - "nameLocation": "788:14:1", + "nameLocation": "788:14:27", "parameters": { - "id": 958, + "id": 44907, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 953, + "id": 44902, "indexed": true, "mutability": "mutable", "name": "owner", - "nameLocation": "819:5:1", + "nameLocation": "819:5:27", "nodeType": "VariableDeclaration", - "scope": 959, - "src": "803:21:1", + "scope": 44908, + "src": "803:21:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -979,10 +979,10 @@ "typeString": "address" }, "typeName": { - "id": 952, + "id": 44901, "name": "address", "nodeType": "ElementaryTypeName", - "src": "803:7:1", + "src": "803:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -993,14 +993,14 @@ }, { "constant": false, - "id": 955, + "id": 44904, "indexed": true, "mutability": "mutable", "name": "operator", - "nameLocation": "842:8:1", + "nameLocation": "842:8:27", "nodeType": "VariableDeclaration", - "scope": 959, - "src": "826:24:1", + "scope": 44908, + "src": "826:24:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1008,10 +1008,10 @@ "typeString": "address" }, "typeName": { - "id": 954, + "id": 44903, "name": "address", "nodeType": "ElementaryTypeName", - "src": "826:7:1", + "src": "826:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1022,14 +1022,14 @@ }, { "constant": false, - "id": 957, + "id": 44906, "indexed": false, "mutability": "mutable", "name": "approved", - "nameLocation": "857:8:1", + "nameLocation": "857:8:27", "nodeType": "VariableDeclaration", - "scope": 959, - "src": "852:13:1", + "scope": 44908, + "src": "852:13:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1037,10 +1037,10 @@ "typeString": "bool" }, "typeName": { - "id": 956, + "id": 44905, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "852:4:1", + "src": "852:4:27", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1049,18 +1049,18 @@ "visibility": "internal" } ], - "src": "802:64:1" + "src": "802:64:27" } }, { - "id": 967, + "id": 44916, "nodeType": "FunctionDefinition", - "src": "954:74:1", + "src": "954:74:27", "nodes": [], "documentation": { - "id": 960, + "id": 44909, "nodeType": "StructuredDocumentation", - "src": "873:76:1", + "src": "873:76:27", "text": " @dev Returns the number of tokens in ``owner``'s account." }, "functionSelector": "70a08231", @@ -1068,20 +1068,20 @@ "kind": "function", "modifiers": [], "name": "balanceOf", - "nameLocation": "963:9:1", + "nameLocation": "963:9:27", "parameters": { - "id": 963, + "id": 44912, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 962, + "id": 44911, "mutability": "mutable", "name": "owner", - "nameLocation": "981:5:1", + "nameLocation": "981:5:27", "nodeType": "VariableDeclaration", - "scope": 967, - "src": "973:13:1", + "scope": 44916, + "src": "973:13:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1089,10 +1089,10 @@ "typeString": "address" }, "typeName": { - "id": 961, + "id": 44910, "name": "address", "nodeType": "ElementaryTypeName", - "src": "973:7:1", + "src": "973:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1102,21 +1102,21 @@ "visibility": "internal" } ], - "src": "972:15:1" + "src": "972:15:27" }, "returnParameters": { - "id": 966, + "id": 44915, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 965, + "id": 44914, "mutability": "mutable", "name": "balance", - "nameLocation": "1019:7:1", + "nameLocation": "1019:7:27", "nodeType": "VariableDeclaration", - "scope": 967, - "src": "1011:15:1", + "scope": 44916, + "src": "1011:15:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1124,10 +1124,10 @@ "typeString": "uint256" }, "typeName": { - "id": 964, + "id": 44913, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1011:7:1", + "src": "1011:7:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1136,22 +1136,22 @@ "visibility": "internal" } ], - "src": "1010:17:1" + "src": "1010:17:27" }, - "scope": 1042, + "scope": 44991, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 975, + "id": 44924, "nodeType": "FunctionDefinition", - "src": "1170:72:1", + "src": "1170:72:27", "nodes": [], "documentation": { - "id": 968, + "id": 44917, "nodeType": "StructuredDocumentation", - "src": "1034:131:1", + "src": "1034:131:27", "text": " @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist." }, "functionSelector": "6352211e", @@ -1159,20 +1159,20 @@ "kind": "function", "modifiers": [], "name": "ownerOf", - "nameLocation": "1179:7:1", + "nameLocation": "1179:7:27", "parameters": { - "id": 971, + "id": 44920, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 970, + "id": 44919, "mutability": "mutable", "name": "tokenId", - "nameLocation": "1195:7:1", + "nameLocation": "1195:7:27", "nodeType": "VariableDeclaration", - "scope": 975, - "src": "1187:15:1", + "scope": 44924, + "src": "1187:15:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1180,10 +1180,10 @@ "typeString": "uint256" }, "typeName": { - "id": 969, + "id": 44918, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1187:7:1", + "src": "1187:7:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1192,21 +1192,21 @@ "visibility": "internal" } ], - "src": "1186:17:1" + "src": "1186:17:27" }, "returnParameters": { - "id": 974, + "id": 44923, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 973, + "id": 44922, "mutability": "mutable", "name": "owner", - "nameLocation": "1235:5:1", + "nameLocation": "1235:5:27", "nodeType": "VariableDeclaration", - "scope": 975, - "src": "1227:13:1", + "scope": 44924, + "src": "1227:13:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1214,10 +1214,10 @@ "typeString": "address" }, "typeName": { - "id": 972, + "id": 44921, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1227:7:1", + "src": "1227:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1227,22 +1227,22 @@ "visibility": "internal" } ], - "src": "1226:15:1" + "src": "1226:15:27" }, - "scope": 1042, + "scope": 44991, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 987, + "id": 44936, "nodeType": "FunctionDefinition", - "src": "1809:99:1", + "src": "1809:99:27", "nodes": [], "documentation": { - "id": 976, + "id": 44925, "nodeType": "StructuredDocumentation", - "src": "1248:556:1", + "src": "1248:556:27", "text": " @dev Safely transfers `tokenId` token from `from` to `to`.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." }, "functionSelector": "b88d4fde", @@ -1250,20 +1250,20 @@ "kind": "function", "modifiers": [], "name": "safeTransferFrom", - "nameLocation": "1818:16:1", + "nameLocation": "1818:16:27", "parameters": { - "id": 985, + "id": 44934, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 978, + "id": 44927, "mutability": "mutable", "name": "from", - "nameLocation": "1843:4:1", + "nameLocation": "1843:4:27", "nodeType": "VariableDeclaration", - "scope": 987, - "src": "1835:12:1", + "scope": 44936, + "src": "1835:12:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1271,10 +1271,10 @@ "typeString": "address" }, "typeName": { - "id": 977, + "id": 44926, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1835:7:1", + "src": "1835:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1285,13 +1285,13 @@ }, { "constant": false, - "id": 980, + "id": 44929, "mutability": "mutable", "name": "to", - "nameLocation": "1857:2:1", + "nameLocation": "1857:2:27", "nodeType": "VariableDeclaration", - "scope": 987, - "src": "1849:10:1", + "scope": 44936, + "src": "1849:10:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1299,10 +1299,10 @@ "typeString": "address" }, "typeName": { - "id": 979, + "id": 44928, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1849:7:1", + "src": "1849:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1313,13 +1313,13 @@ }, { "constant": false, - "id": 982, + "id": 44931, "mutability": "mutable", "name": "tokenId", - "nameLocation": "1869:7:1", + "nameLocation": "1869:7:27", "nodeType": "VariableDeclaration", - "scope": 987, - "src": "1861:15:1", + "scope": 44936, + "src": "1861:15:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1327,10 +1327,10 @@ "typeString": "uint256" }, "typeName": { - "id": 981, + "id": 44930, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1861:7:1", + "src": "1861:7:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1340,13 +1340,13 @@ }, { "constant": false, - "id": 984, + "id": 44933, "mutability": "mutable", "name": "data", - "nameLocation": "1893:4:1", + "nameLocation": "1893:4:27", "nodeType": "VariableDeclaration", - "scope": 987, - "src": "1878:19:1", + "scope": 44936, + "src": "1878:19:27", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -1354,10 +1354,10 @@ "typeString": "bytes" }, "typeName": { - "id": 983, + "id": 44932, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1878:5:1", + "src": "1878:5:27", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1366,28 +1366,28 @@ "visibility": "internal" } ], - "src": "1834:64:1" + "src": "1834:64:27" }, "returnParameters": { - "id": 986, + "id": 44935, "nodeType": "ParameterList", "parameters": [], - "src": "1907:0:1" + "src": "1907:0:27" }, - "scope": 1042, + "scope": 44991, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 997, + "id": 44946, "nodeType": "FunctionDefinition", - "src": "2606:78:1", + "src": "2606:78:27", "nodes": [], "documentation": { - "id": 988, + "id": 44937, "nodeType": "StructuredDocumentation", - "src": "1914:687:1", + "src": "1914:687:27", "text": " @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." }, "functionSelector": "42842e0e", @@ -1395,20 +1395,20 @@ "kind": "function", "modifiers": [], "name": "safeTransferFrom", - "nameLocation": "2615:16:1", + "nameLocation": "2615:16:27", "parameters": { - "id": 995, + "id": 44944, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 990, + "id": 44939, "mutability": "mutable", "name": "from", - "nameLocation": "2640:4:1", + "nameLocation": "2640:4:27", "nodeType": "VariableDeclaration", - "scope": 997, - "src": "2632:12:1", + "scope": 44946, + "src": "2632:12:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1416,10 +1416,10 @@ "typeString": "address" }, "typeName": { - "id": 989, + "id": 44938, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2632:7:1", + "src": "2632:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1430,13 +1430,13 @@ }, { "constant": false, - "id": 992, + "id": 44941, "mutability": "mutable", "name": "to", - "nameLocation": "2654:2:1", + "nameLocation": "2654:2:27", "nodeType": "VariableDeclaration", - "scope": 997, - "src": "2646:10:1", + "scope": 44946, + "src": "2646:10:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1444,10 +1444,10 @@ "typeString": "address" }, "typeName": { - "id": 991, + "id": 44940, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2646:7:1", + "src": "2646:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1458,13 +1458,13 @@ }, { "constant": false, - "id": 994, + "id": 44943, "mutability": "mutable", "name": "tokenId", - "nameLocation": "2666:7:1", + "nameLocation": "2666:7:27", "nodeType": "VariableDeclaration", - "scope": 997, - "src": "2658:15:1", + "scope": 44946, + "src": "2658:15:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1472,10 +1472,10 @@ "typeString": "uint256" }, "typeName": { - "id": 993, + "id": 44942, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2658:7:1", + "src": "2658:7:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1484,28 +1484,28 @@ "visibility": "internal" } ], - "src": "2631:43:1" + "src": "2631:43:27" }, "returnParameters": { - "id": 996, + "id": 44945, "nodeType": "ParameterList", "parameters": [], - "src": "2683:0:1" + "src": "2683:0:27" }, - "scope": 1042, + "scope": 44991, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 1007, + "id": 44956, "nodeType": "FunctionDefinition", - "src": "3427:74:1", + "src": "3427:74:27", "nodes": [], "documentation": { - "id": 998, + "id": 44947, "nodeType": "StructuredDocumentation", - "src": "2690:732:1", + "src": "2690:732:27", "text": " @dev Transfers `tokenId` token from `from` to `to`.\n WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n understand this adds an external call which potentially creates a reentrancy vulnerability.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n Emits a {Transfer} event." }, "functionSelector": "23b872dd", @@ -1513,20 +1513,20 @@ "kind": "function", "modifiers": [], "name": "transferFrom", - "nameLocation": "3436:12:1", + "nameLocation": "3436:12:27", "parameters": { - "id": 1005, + "id": 44954, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1000, + "id": 44949, "mutability": "mutable", "name": "from", - "nameLocation": "3457:4:1", + "nameLocation": "3457:4:27", "nodeType": "VariableDeclaration", - "scope": 1007, - "src": "3449:12:1", + "scope": 44956, + "src": "3449:12:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1534,10 +1534,10 @@ "typeString": "address" }, "typeName": { - "id": 999, + "id": 44948, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3449:7:1", + "src": "3449:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1548,13 +1548,13 @@ }, { "constant": false, - "id": 1002, + "id": 44951, "mutability": "mutable", "name": "to", - "nameLocation": "3471:2:1", + "nameLocation": "3471:2:27", "nodeType": "VariableDeclaration", - "scope": 1007, - "src": "3463:10:1", + "scope": 44956, + "src": "3463:10:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1562,10 +1562,10 @@ "typeString": "address" }, "typeName": { - "id": 1001, + "id": 44950, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3463:7:1", + "src": "3463:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1576,13 +1576,13 @@ }, { "constant": false, - "id": 1004, + "id": 44953, "mutability": "mutable", "name": "tokenId", - "nameLocation": "3483:7:1", + "nameLocation": "3483:7:27", "nodeType": "VariableDeclaration", - "scope": 1007, - "src": "3475:15:1", + "scope": 44956, + "src": "3475:15:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1590,10 +1590,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1003, + "id": 44952, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3475:7:1", + "src": "3475:7:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1602,28 +1602,28 @@ "visibility": "internal" } ], - "src": "3448:43:1" + "src": "3448:43:27" }, "returnParameters": { - "id": 1006, + "id": 44955, "nodeType": "ParameterList", "parameters": [], - "src": "3500:0:1" + "src": "3500:0:27" }, - "scope": 1042, + "scope": 44991, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 1015, + "id": 44964, "nodeType": "FunctionDefinition", - "src": "3964:55:1", + "src": "3964:55:27", "nodes": [], "documentation": { - "id": 1008, + "id": 44957, "nodeType": "StructuredDocumentation", - "src": "3507:452:1", + "src": "3507:452:27", "text": " @dev Gives permission to `to` to transfer `tokenId` token to another account.\n The approval is cleared when the token is transferred.\n Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n Requirements:\n - The caller must own the token or be an approved operator.\n - `tokenId` must exist.\n Emits an {Approval} event." }, "functionSelector": "095ea7b3", @@ -1631,20 +1631,20 @@ "kind": "function", "modifiers": [], "name": "approve", - "nameLocation": "3973:7:1", + "nameLocation": "3973:7:27", "parameters": { - "id": 1013, + "id": 44962, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1010, + "id": 44959, "mutability": "mutable", "name": "to", - "nameLocation": "3989:2:1", + "nameLocation": "3989:2:27", "nodeType": "VariableDeclaration", - "scope": 1015, - "src": "3981:10:1", + "scope": 44964, + "src": "3981:10:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1652,10 +1652,10 @@ "typeString": "address" }, "typeName": { - "id": 1009, + "id": 44958, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3981:7:1", + "src": "3981:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1666,13 +1666,13 @@ }, { "constant": false, - "id": 1012, + "id": 44961, "mutability": "mutable", "name": "tokenId", - "nameLocation": "4001:7:1", + "nameLocation": "4001:7:27", "nodeType": "VariableDeclaration", - "scope": 1015, - "src": "3993:15:1", + "scope": 44964, + "src": "3993:15:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1680,10 +1680,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1011, + "id": 44960, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3993:7:1", + "src": "3993:7:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1692,28 +1692,28 @@ "visibility": "internal" } ], - "src": "3980:29:1" + "src": "3980:29:27" }, "returnParameters": { - "id": 1014, + "id": 44963, "nodeType": "ParameterList", "parameters": [], - "src": "4018:0:1" + "src": "4018:0:27" }, - "scope": 1042, + "scope": 44991, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 1023, + "id": 44972, "nodeType": "FunctionDefinition", - "src": "4339:69:1", + "src": "4339:69:27", "nodes": [], "documentation": { - "id": 1016, + "id": 44965, "nodeType": "StructuredDocumentation", - "src": "4025:309:1", + "src": "4025:309:27", "text": " @dev Approve or remove `operator` as an operator for the caller.\n Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n Requirements:\n - The `operator` cannot be the caller.\n Emits an {ApprovalForAll} event." }, "functionSelector": "a22cb465", @@ -1721,20 +1721,20 @@ "kind": "function", "modifiers": [], "name": "setApprovalForAll", - "nameLocation": "4348:17:1", + "nameLocation": "4348:17:27", "parameters": { - "id": 1021, + "id": 44970, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1018, + "id": 44967, "mutability": "mutable", "name": "operator", - "nameLocation": "4374:8:1", + "nameLocation": "4374:8:27", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "4366:16:1", + "scope": 44972, + "src": "4366:16:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1742,10 +1742,10 @@ "typeString": "address" }, "typeName": { - "id": 1017, + "id": 44966, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4366:7:1", + "src": "4366:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1756,13 +1756,13 @@ }, { "constant": false, - "id": 1020, + "id": 44969, "mutability": "mutable", "name": "approved", - "nameLocation": "4389:8:1", + "nameLocation": "4389:8:27", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "4384:13:1", + "scope": 44972, + "src": "4384:13:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1770,10 +1770,10 @@ "typeString": "bool" }, "typeName": { - "id": 1019, + "id": 44968, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4384:4:1", + "src": "4384:4:27", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1782,28 +1782,28 @@ "visibility": "internal" } ], - "src": "4365:33:1" + "src": "4365:33:27" }, "returnParameters": { - "id": 1022, + "id": 44971, "nodeType": "ParameterList", "parameters": [], - "src": "4407:0:1" + "src": "4407:0:27" }, - "scope": 1042, + "scope": 44991, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 1031, + "id": 44980, "nodeType": "FunctionDefinition", - "src": "4558:79:1", + "src": "4558:79:27", "nodes": [], "documentation": { - "id": 1024, + "id": 44973, "nodeType": "StructuredDocumentation", - "src": "4414:139:1", + "src": "4414:139:27", "text": " @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist." }, "functionSelector": "081812fc", @@ -1811,20 +1811,20 @@ "kind": "function", "modifiers": [], "name": "getApproved", - "nameLocation": "4567:11:1", + "nameLocation": "4567:11:27", "parameters": { - "id": 1027, + "id": 44976, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1026, + "id": 44975, "mutability": "mutable", "name": "tokenId", - "nameLocation": "4587:7:1", + "nameLocation": "4587:7:27", "nodeType": "VariableDeclaration", - "scope": 1031, - "src": "4579:15:1", + "scope": 44980, + "src": "4579:15:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1832,10 +1832,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1025, + "id": 44974, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4579:7:1", + "src": "4579:7:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1844,21 +1844,21 @@ "visibility": "internal" } ], - "src": "4578:17:1" + "src": "4578:17:27" }, "returnParameters": { - "id": 1030, + "id": 44979, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1029, + "id": 44978, "mutability": "mutable", "name": "operator", - "nameLocation": "4627:8:1", + "nameLocation": "4627:8:27", "nodeType": "VariableDeclaration", - "scope": 1031, - "src": "4619:16:1", + "scope": 44980, + "src": "4619:16:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1866,10 +1866,10 @@ "typeString": "address" }, "typeName": { - "id": 1028, + "id": 44977, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4619:7:1", + "src": "4619:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1879,22 +1879,22 @@ "visibility": "internal" } ], - "src": "4618:18:1" + "src": "4618:18:27" }, - "scope": 1042, + "scope": 44991, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 1041, + "id": 44990, "nodeType": "FunctionDefinition", - "src": "4786:88:1", + "src": "4786:88:27", "nodes": [], "documentation": { - "id": 1032, + "id": 44981, "nodeType": "StructuredDocumentation", - "src": "4643:138:1", + "src": "4643:138:27", "text": " @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}" }, "functionSelector": "e985e9c5", @@ -1902,20 +1902,20 @@ "kind": "function", "modifiers": [], "name": "isApprovedForAll", - "nameLocation": "4795:16:1", + "nameLocation": "4795:16:27", "parameters": { - "id": 1037, + "id": 44986, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1034, + "id": 44983, "mutability": "mutable", "name": "owner", - "nameLocation": "4820:5:1", + "nameLocation": "4820:5:27", "nodeType": "VariableDeclaration", - "scope": 1041, - "src": "4812:13:1", + "scope": 44990, + "src": "4812:13:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1923,10 +1923,10 @@ "typeString": "address" }, "typeName": { - "id": 1033, + "id": 44982, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4812:7:1", + "src": "4812:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1937,13 +1937,13 @@ }, { "constant": false, - "id": 1036, + "id": 44985, "mutability": "mutable", "name": "operator", - "nameLocation": "4835:8:1", + "nameLocation": "4835:8:27", "nodeType": "VariableDeclaration", - "scope": 1041, - "src": "4827:16:1", + "scope": 44990, + "src": "4827:16:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1951,10 +1951,10 @@ "typeString": "address" }, "typeName": { - "id": 1035, + "id": 44984, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4827:7:1", + "src": "4827:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1964,21 +1964,21 @@ "visibility": "internal" } ], - "src": "4811:33:1" + "src": "4811:33:27" }, "returnParameters": { - "id": 1040, + "id": 44989, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1039, + "id": 44988, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1041, - "src": "4868:4:1", + "scope": 44990, + "src": "4868:4:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1986,10 +1986,10 @@ "typeString": "bool" }, "typeName": { - "id": 1038, + "id": 44987, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4868:4:1", + "src": "4868:4:27", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1998,9 +1998,9 @@ "visibility": "internal" } ], - "src": "4867:6:1" + "src": "4867:6:27" }, - "scope": 1042, + "scope": 44991, "stateMutability": "view", "virtual": false, "visibility": "external" @@ -2010,46 +2010,46 @@ "baseContracts": [ { "baseName": { - "id": 931, + "id": 44880, "name": "IERC165", "nameLocations": [ - "271:7:1" + "271:7:27" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1704, - "src": "271:7:1" + "referencedDeclaration": 45653, + "src": "271:7:27" }, - "id": 932, + "id": 44881, "nodeType": "InheritanceSpecifier", - "src": "271:7:1" + "src": "271:7:27" } ], "canonicalName": "IERC721", "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 930, + "id": 44879, "nodeType": "StructuredDocumentation", - "src": "182:67:1", + "src": "182:67:27", "text": " @dev Required interface of an ERC721 compliant contract." }, "fullyImplemented": false, "linearizedBaseContracts": [ - 1042, - 1704 + 44991, + 45653 ], "name": "IERC721", - "nameLocation": "260:7:1", - "scope": 1043, + "nameLocation": "260:7:27", + "scope": 44992, "usedErrors": [], "usedEvents": [ - 941, - 950, - 959 + 44890, + 44899, + 44908 ] } ], "license": "MIT" }, - "id": 1 + "id": 27 } \ No newline at end of file diff --git a/tests/contract-playground/out/IERC721Metadata.sol/IERC721Metadata.json b/tests/contract-playground/out/IERC721Metadata.sol/IERC721Metadata.json index 1d2c44e46..b397feb2d 100644 --- a/tests/contract-playground/out/IERC721Metadata.sol/IERC721Metadata.json +++ b/tests/contract-playground/out/IERC721Metadata.sol/IERC721Metadata.json @@ -793,25 +793,25 @@ }, "ast": { "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol", - "id": 1088, + "id": 45037, "exportedSymbols": { "IERC165": [ - 1704 + 45653 ], "IERC721": [ - 1042 + 44991 ], "IERC721Metadata": [ - 1087 + 45036 ] }, "nodeType": "SourceUnit", - "src": "112:649:3", + "src": "112:649:29", "nodes": [ { - "id": 1062, + "id": 45011, "nodeType": "PragmaDirective", - "src": "112:23:3", + "src": "112:23:29", "nodes": [], "literals": [ "solidity", @@ -821,32 +821,32 @@ ] }, { - "id": 1063, + "id": 45012, "nodeType": "ImportDirective", - "src": "137:24:3", + "src": "137:24:29", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol", "file": "../IERC721.sol", "nameLocation": "-1:-1:-1", - "scope": 1088, - "sourceUnit": 1043, + "scope": 45037, + "sourceUnit": 44992, "symbolAliases": [], "unitAlias": "" }, { - "id": 1087, + "id": 45036, "nodeType": "ContractDefinition", - "src": "297:463:3", + "src": "297:463:29", "nodes": [ { - "id": 1072, + "id": 45021, "nodeType": "FunctionDefinition", - "src": "403:54:3", + "src": "403:54:29", "nodes": [], "documentation": { - "id": 1067, + "id": 45016, "nodeType": "StructuredDocumentation", - "src": "340:58:3", + "src": "340:58:29", "text": " @dev Returns the token collection name." }, "functionSelector": "06fdde03", @@ -854,26 +854,26 @@ "kind": "function", "modifiers": [], "name": "name", - "nameLocation": "412:4:3", + "nameLocation": "412:4:29", "parameters": { - "id": 1068, + "id": 45017, "nodeType": "ParameterList", "parameters": [], - "src": "416:2:3" + "src": "416:2:29" }, "returnParameters": { - "id": 1071, + "id": 45020, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1070, + "id": 45019, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1072, - "src": "442:13:3", + "scope": 45021, + "src": "442:13:29", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -881,10 +881,10 @@ "typeString": "string" }, "typeName": { - "id": 1069, + "id": 45018, "name": "string", "nodeType": "ElementaryTypeName", - "src": "442:6:3", + "src": "442:6:29", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -893,22 +893,22 @@ "visibility": "internal" } ], - "src": "441:15:3" + "src": "441:15:29" }, - "scope": 1087, + "scope": 45036, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 1078, + "id": 45027, "nodeType": "FunctionDefinition", - "src": "528:56:3", + "src": "528:56:29", "nodes": [], "documentation": { - "id": 1073, + "id": 45022, "nodeType": "StructuredDocumentation", - "src": "463:60:3", + "src": "463:60:29", "text": " @dev Returns the token collection symbol." }, "functionSelector": "95d89b41", @@ -916,26 +916,26 @@ "kind": "function", "modifiers": [], "name": "symbol", - "nameLocation": "537:6:3", + "nameLocation": "537:6:29", "parameters": { - "id": 1074, + "id": 45023, "nodeType": "ParameterList", "parameters": [], - "src": "543:2:3" + "src": "543:2:29" }, "returnParameters": { - "id": 1077, + "id": 45026, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1076, + "id": 45025, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1078, - "src": "569:13:3", + "scope": 45027, + "src": "569:13:29", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -943,10 +943,10 @@ "typeString": "string" }, "typeName": { - "id": 1075, + "id": 45024, "name": "string", "nodeType": "ElementaryTypeName", - "src": "569:6:3", + "src": "569:6:29", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -955,22 +955,22 @@ "visibility": "internal" } ], - "src": "568:15:3" + "src": "568:15:29" }, - "scope": 1087, + "scope": 45036, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 1086, + "id": 45035, "nodeType": "FunctionDefinition", - "src": "685:73:3", + "src": "685:73:29", "nodes": [], "documentation": { - "id": 1079, + "id": 45028, "nodeType": "StructuredDocumentation", - "src": "590:90:3", + "src": "590:90:29", "text": " @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token." }, "functionSelector": "c87b56dd", @@ -978,20 +978,20 @@ "kind": "function", "modifiers": [], "name": "tokenURI", - "nameLocation": "694:8:3", + "nameLocation": "694:8:29", "parameters": { - "id": 1082, + "id": 45031, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1081, + "id": 45030, "mutability": "mutable", "name": "tokenId", - "nameLocation": "711:7:3", + "nameLocation": "711:7:29", "nodeType": "VariableDeclaration", - "scope": 1086, - "src": "703:15:3", + "scope": 45035, + "src": "703:15:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -999,10 +999,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1080, + "id": 45029, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "703:7:3", + "src": "703:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1011,21 +1011,21 @@ "visibility": "internal" } ], - "src": "702:17:3" + "src": "702:17:29" }, "returnParameters": { - "id": 1085, + "id": 45034, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1084, + "id": 45033, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1086, - "src": "743:13:3", + "scope": 45035, + "src": "743:13:29", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1033,10 +1033,10 @@ "typeString": "string" }, "typeName": { - "id": 1083, + "id": 45032, "name": "string", "nodeType": "ElementaryTypeName", - "src": "743:6:3", + "src": "743:6:29", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1045,9 +1045,9 @@ "visibility": "internal" } ], - "src": "742:15:3" + "src": "742:15:29" }, - "scope": 1087, + "scope": 45036, "stateMutability": "view", "virtual": false, "visibility": "external" @@ -1057,47 +1057,47 @@ "baseContracts": [ { "baseName": { - "id": 1065, + "id": 45014, "name": "IERC721", "nameLocations": [ - "326:7:3" + "326:7:29" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1042, - "src": "326:7:3" + "referencedDeclaration": 44991, + "src": "326:7:29" }, - "id": 1066, + "id": 45015, "nodeType": "InheritanceSpecifier", - "src": "326:7:3" + "src": "326:7:29" } ], "canonicalName": "IERC721Metadata", "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 1064, + "id": 45013, "nodeType": "StructuredDocumentation", - "src": "163:133:3", + "src": "163:133:29", "text": " @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n @dev See https://eips.ethereum.org/EIPS/eip-721" }, "fullyImplemented": false, "linearizedBaseContracts": [ - 1087, - 1042, - 1704 + 45036, + 44991, + 45653 ], "name": "IERC721Metadata", - "nameLocation": "307:15:3", - "scope": 1088, + "nameLocation": "307:15:29", + "scope": 45037, "usedErrors": [], "usedEvents": [ - 941, - 950, - 959 + 44890, + 44899, + 44908 ] } ], "license": "MIT" }, - "id": 3 + "id": 29 } \ No newline at end of file diff --git a/tests/contract-playground/out/IERC721Receiver.sol/IERC721Receiver.json b/tests/contract-playground/out/IERC721Receiver.sol/IERC721Receiver.json index a850d1212..1705939db 100644 --- a/tests/contract-playground/out/IERC721Receiver.sol/IERC721Receiver.json +++ b/tests/contract-playground/out/IERC721Receiver.sol/IERC721Receiver.json @@ -142,19 +142,19 @@ }, "ast": { "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol", - "id": 1061, + "id": 45010, "exportedSymbols": { "IERC721Receiver": [ - 1060 + 45009 ] }, "nodeType": "SourceUnit", - "src": "116:871:2", + "src": "116:871:28", "nodes": [ { - "id": 1044, + "id": 44993, "nodeType": "PragmaDirective", - "src": "116:23:2", + "src": "116:23:28", "nodes": [], "literals": [ "solidity", @@ -164,19 +164,19 @@ ] }, { - "id": 1060, + "id": 45009, "nodeType": "ContractDefinition", - "src": "294:692:2", + "src": "294:692:28", "nodes": [ { - "id": 1059, + "id": 45008, "nodeType": "FunctionDefinition", - "src": "824:160:2", + "src": "824:160:28", "nodes": [], "documentation": { - "id": 1046, + "id": 44995, "nodeType": "StructuredDocumentation", - "src": "326:493:2", + "src": "326:493:28", "text": " @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n by `operator` from `from`, this function is called.\n It must return its Solidity selector to confirm the token transfer.\n If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`." }, "functionSelector": "150b7a02", @@ -184,20 +184,20 @@ "kind": "function", "modifiers": [], "name": "onERC721Received", - "nameLocation": "833:16:2", + "nameLocation": "833:16:28", "parameters": { - "id": 1055, + "id": 45004, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1048, + "id": 44997, "mutability": "mutable", "name": "operator", - "nameLocation": "867:8:2", + "nameLocation": "867:8:28", "nodeType": "VariableDeclaration", - "scope": 1059, - "src": "859:16:2", + "scope": 45008, + "src": "859:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -205,10 +205,10 @@ "typeString": "address" }, "typeName": { - "id": 1047, + "id": 44996, "name": "address", "nodeType": "ElementaryTypeName", - "src": "859:7:2", + "src": "859:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -219,13 +219,13 @@ }, { "constant": false, - "id": 1050, + "id": 44999, "mutability": "mutable", "name": "from", - "nameLocation": "893:4:2", + "nameLocation": "893:4:28", "nodeType": "VariableDeclaration", - "scope": 1059, - "src": "885:12:2", + "scope": 45008, + "src": "885:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -233,10 +233,10 @@ "typeString": "address" }, "typeName": { - "id": 1049, + "id": 44998, "name": "address", "nodeType": "ElementaryTypeName", - "src": "885:7:2", + "src": "885:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -247,13 +247,13 @@ }, { "constant": false, - "id": 1052, + "id": 45001, "mutability": "mutable", "name": "tokenId", - "nameLocation": "915:7:2", + "nameLocation": "915:7:28", "nodeType": "VariableDeclaration", - "scope": 1059, - "src": "907:15:2", + "scope": 45008, + "src": "907:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -261,10 +261,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1051, + "id": 45000, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "907:7:2", + "src": "907:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -274,13 +274,13 @@ }, { "constant": false, - "id": 1054, + "id": 45003, "mutability": "mutable", "name": "data", - "nameLocation": "947:4:2", + "nameLocation": "947:4:28", "nodeType": "VariableDeclaration", - "scope": 1059, - "src": "932:19:2", + "scope": 45008, + "src": "932:19:28", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -288,10 +288,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1053, + "id": 45002, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "932:5:2", + "src": "932:5:28", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -300,21 +300,21 @@ "visibility": "internal" } ], - "src": "849:108:2" + "src": "849:108:28" }, "returnParameters": { - "id": 1058, + "id": 45007, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1057, + "id": 45006, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1059, - "src": "976:6:2", + "scope": 45008, + "src": "976:6:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -322,10 +322,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 1056, + "id": 45005, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "976:6:2", + "src": "976:6:28", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -334,9 +334,9 @@ "visibility": "internal" } ], - "src": "975:8:2" + "src": "975:8:28" }, - "scope": 1060, + "scope": 45009, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -348,23 +348,23 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 1045, + "id": 44994, "nodeType": "StructuredDocumentation", - "src": "141:152:2", + "src": "141:152:28", "text": " @title ERC721 token receiver interface\n @dev Interface for any contract that wants to support safeTransfers\n from ERC721 asset contracts." }, "fullyImplemented": false, "linearizedBaseContracts": [ - 1060 + 45009 ], "name": "IERC721Receiver", - "nameLocation": "304:15:2", - "scope": 1061, + "nameLocation": "304:15:28", + "scope": 45010, "usedErrors": [], "usedEvents": [] } ], "license": "MIT" }, - "id": 2 + "id": 28 } \ No newline at end of file diff --git a/tests/contract-playground/out/IMulticall3.sol/IMulticall3.json b/tests/contract-playground/out/IMulticall3.sol/IMulticall3.json index d61e10429..09441396e 100644 --- a/tests/contract-playground/out/IMulticall3.sol/IMulticall3.json +++ b/tests/contract-playground/out/IMulticall3.sol/IMulticall3.json @@ -467,7 +467,7 @@ "tryAggregate(bool,(address,bytes)[])": "bce38bd7", "tryBlockAndAggregate(bool,(address,bytes)[])": "399542e9" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":\"IMulticall3\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":\"IMulticall3\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -932,7 +932,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/IUniswapV2Router01.sol/IUniswapV2Router01.json b/tests/contract-playground/out/IUniswapV2Router01.sol/IUniswapV2Router01.json index 2a4ff70c9..dc89e8a52 100644 --- a/tests/contract-playground/out/IUniswapV2Router01.sol/IUniswapV2Router01.json +++ b/tests/contract-playground/out/IUniswapV2Router01.sol/IUniswapV2Router01.json @@ -1586,19 +1586,19 @@ }, "ast": { "absolutePath": "lib/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol", - "id": 308, + "id": 47406, "exportedSymbols": { "IUniswapV2Router01": [ - 307 + 47405 ] }, "nodeType": "SourceUnit", - "src": "0:3526:0", + "src": "0:3526:39", "nodes": [ { - "id": 1, + "id": 47099, "nodeType": "PragmaDirective", - "src": "0:24:0", + "src": "0:24:39", "nodes": [], "literals": [ "solidity", @@ -1608,40 +1608,40 @@ ] }, { - "id": 307, + "id": 47405, "nodeType": "ContractDefinition", - "src": "26:3499:0", + "src": "26:3499:39", "nodes": [ { - "id": 6, + "id": 47104, "nodeType": "FunctionDefinition", - "src": "61:51:0", + "src": "61:51:39", "nodes": [], "functionSelector": "c45a0155", "implemented": false, "kind": "function", "modifiers": [], "name": "factory", - "nameLocation": "70:7:0", + "nameLocation": "70:7:39", "parameters": { - "id": 2, + "id": 47100, "nodeType": "ParameterList", "parameters": [], - "src": "77:2:0" + "src": "77:2:39" }, "returnParameters": { - "id": 5, + "id": 47103, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4, + "id": 47102, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6, - "src": "103:7:0", + "scope": 47104, + "src": "103:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1649,10 +1649,10 @@ "typeString": "address" }, "typeName": { - "id": 3, + "id": 47101, "name": "address", "nodeType": "ElementaryTypeName", - "src": "103:7:0", + "src": "103:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1662,43 +1662,43 @@ "visibility": "internal" } ], - "src": "102:9:0" + "src": "102:9:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "pure", "virtual": false, "visibility": "external" }, { - "id": 11, + "id": 47109, "nodeType": "FunctionDefinition", - "src": "117:48:0", + "src": "117:48:39", "nodes": [], "functionSelector": "ad5c4648", "implemented": false, "kind": "function", "modifiers": [], "name": "WETH", - "nameLocation": "126:4:0", + "nameLocation": "126:4:39", "parameters": { - "id": 7, + "id": 47105, "nodeType": "ParameterList", "parameters": [], - "src": "130:2:0" + "src": "130:2:39" }, "returnParameters": { - "id": 10, + "id": 47108, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9, + "id": 47107, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 11, - "src": "156:7:0", + "scope": 47109, + "src": "156:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1706,10 +1706,10 @@ "typeString": "address" }, "typeName": { - "id": 8, + "id": 47106, "name": "address", "nodeType": "ElementaryTypeName", - "src": "156:7:0", + "src": "156:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1719,37 +1719,37 @@ "visibility": "internal" } ], - "src": "155:9:0" + "src": "155:9:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "pure", "virtual": false, "visibility": "external" }, { - "id": 36, + "id": 47134, "nodeType": "FunctionDefinition", - "src": "171:289:0", + "src": "171:289:39", "nodes": [], "functionSelector": "e8e33700", "implemented": false, "kind": "function", "modifiers": [], "name": "addLiquidity", - "nameLocation": "180:12:0", + "nameLocation": "180:12:39", "parameters": { - "id": 28, + "id": 47126, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 13, + "id": 47111, "mutability": "mutable", "name": "tokenA", - "nameLocation": "210:6:0", + "nameLocation": "210:6:39", "nodeType": "VariableDeclaration", - "scope": 36, - "src": "202:14:0", + "scope": 47134, + "src": "202:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1757,10 +1757,10 @@ "typeString": "address" }, "typeName": { - "id": 12, + "id": 47110, "name": "address", "nodeType": "ElementaryTypeName", - "src": "202:7:0", + "src": "202:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1771,13 +1771,13 @@ }, { "constant": false, - "id": 15, + "id": 47113, "mutability": "mutable", "name": "tokenB", - "nameLocation": "234:6:0", + "nameLocation": "234:6:39", "nodeType": "VariableDeclaration", - "scope": 36, - "src": "226:14:0", + "scope": 47134, + "src": "226:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1785,10 +1785,10 @@ "typeString": "address" }, "typeName": { - "id": 14, + "id": 47112, "name": "address", "nodeType": "ElementaryTypeName", - "src": "226:7:0", + "src": "226:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1799,13 +1799,13 @@ }, { "constant": false, - "id": 17, + "id": 47115, "mutability": "mutable", "name": "amountADesired", - "nameLocation": "255:14:0", + "nameLocation": "255:14:39", "nodeType": "VariableDeclaration", - "scope": 36, - "src": "250:19:0", + "scope": 47134, + "src": "250:19:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1813,10 +1813,10 @@ "typeString": "uint256" }, "typeName": { - "id": 16, + "id": 47114, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "250:4:0", + "src": "250:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1826,13 +1826,13 @@ }, { "constant": false, - "id": 19, + "id": 47117, "mutability": "mutable", "name": "amountBDesired", - "nameLocation": "284:14:0", + "nameLocation": "284:14:39", "nodeType": "VariableDeclaration", - "scope": 36, - "src": "279:19:0", + "scope": 47134, + "src": "279:19:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1840,10 +1840,10 @@ "typeString": "uint256" }, "typeName": { - "id": 18, + "id": 47116, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "279:4:0", + "src": "279:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1853,13 +1853,13 @@ }, { "constant": false, - "id": 21, + "id": 47119, "mutability": "mutable", "name": "amountAMin", - "nameLocation": "313:10:0", + "nameLocation": "313:10:39", "nodeType": "VariableDeclaration", - "scope": 36, - "src": "308:15:0", + "scope": 47134, + "src": "308:15:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1867,10 +1867,10 @@ "typeString": "uint256" }, "typeName": { - "id": 20, + "id": 47118, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "308:4:0", + "src": "308:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1880,13 +1880,13 @@ }, { "constant": false, - "id": 23, + "id": 47121, "mutability": "mutable", "name": "amountBMin", - "nameLocation": "338:10:0", + "nameLocation": "338:10:39", "nodeType": "VariableDeclaration", - "scope": 36, - "src": "333:15:0", + "scope": 47134, + "src": "333:15:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1894,10 +1894,10 @@ "typeString": "uint256" }, "typeName": { - "id": 22, + "id": 47120, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "333:4:0", + "src": "333:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1907,13 +1907,13 @@ }, { "constant": false, - "id": 25, + "id": 47123, "mutability": "mutable", "name": "to", - "nameLocation": "366:2:0", + "nameLocation": "366:2:39", "nodeType": "VariableDeclaration", - "scope": 36, - "src": "358:10:0", + "scope": 47134, + "src": "358:10:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1921,10 +1921,10 @@ "typeString": "address" }, "typeName": { - "id": 24, + "id": 47122, "name": "address", "nodeType": "ElementaryTypeName", - "src": "358:7:0", + "src": "358:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1935,13 +1935,13 @@ }, { "constant": false, - "id": 27, + "id": 47125, "mutability": "mutable", "name": "deadline", - "nameLocation": "383:8:0", + "nameLocation": "383:8:39", "nodeType": "VariableDeclaration", - "scope": 36, - "src": "378:13:0", + "scope": 47134, + "src": "378:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1949,10 +1949,10 @@ "typeString": "uint256" }, "typeName": { - "id": 26, + "id": 47124, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "378:4:0", + "src": "378:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1961,21 +1961,21 @@ "visibility": "internal" } ], - "src": "192:205:0" + "src": "192:205:39" }, "returnParameters": { - "id": 35, + "id": 47133, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 30, + "id": 47128, "mutability": "mutable", "name": "amountA", - "nameLocation": "421:7:0", + "nameLocation": "421:7:39", "nodeType": "VariableDeclaration", - "scope": 36, - "src": "416:12:0", + "scope": 47134, + "src": "416:12:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1983,10 +1983,10 @@ "typeString": "uint256" }, "typeName": { - "id": 29, + "id": 47127, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "416:4:0", + "src": "416:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1996,13 +1996,13 @@ }, { "constant": false, - "id": 32, + "id": 47130, "mutability": "mutable", "name": "amountB", - "nameLocation": "435:7:0", + "nameLocation": "435:7:39", "nodeType": "VariableDeclaration", - "scope": 36, - "src": "430:12:0", + "scope": 47134, + "src": "430:12:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2010,10 +2010,10 @@ "typeString": "uint256" }, "typeName": { - "id": 31, + "id": 47129, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "430:4:0", + "src": "430:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2023,13 +2023,13 @@ }, { "constant": false, - "id": 34, + "id": 47132, "mutability": "mutable", "name": "liquidity", - "nameLocation": "449:9:0", + "nameLocation": "449:9:39", "nodeType": "VariableDeclaration", - "scope": 36, - "src": "444:14:0", + "scope": 47134, + "src": "444:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2037,10 +2037,10 @@ "typeString": "uint256" }, "typeName": { - "id": 33, + "id": 47131, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "444:4:0", + "src": "444:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2049,37 +2049,37 @@ "visibility": "internal" } ], - "src": "415:44:0" + "src": "415:44:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 57, + "id": 47155, "nodeType": "FunctionDefinition", - "src": "465:262:0", + "src": "465:262:39", "nodes": [], "functionSelector": "f305d719", "implemented": false, "kind": "function", "modifiers": [], "name": "addLiquidityETH", - "nameLocation": "474:15:0", + "nameLocation": "474:15:39", "parameters": { - "id": 49, + "id": 47147, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 38, + "id": 47136, "mutability": "mutable", "name": "token", - "nameLocation": "507:5:0", + "nameLocation": "507:5:39", "nodeType": "VariableDeclaration", - "scope": 57, - "src": "499:13:0", + "scope": 47155, + "src": "499:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2087,10 +2087,10 @@ "typeString": "address" }, "typeName": { - "id": 37, + "id": 47135, "name": "address", "nodeType": "ElementaryTypeName", - "src": "499:7:0", + "src": "499:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2101,13 +2101,13 @@ }, { "constant": false, - "id": 40, + "id": 47138, "mutability": "mutable", "name": "amountTokenDesired", - "nameLocation": "527:18:0", + "nameLocation": "527:18:39", "nodeType": "VariableDeclaration", - "scope": 57, - "src": "522:23:0", + "scope": 47155, + "src": "522:23:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2115,10 +2115,10 @@ "typeString": "uint256" }, "typeName": { - "id": 39, + "id": 47137, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "522:4:0", + "src": "522:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2128,13 +2128,13 @@ }, { "constant": false, - "id": 42, + "id": 47140, "mutability": "mutable", "name": "amountTokenMin", - "nameLocation": "560:14:0", + "nameLocation": "560:14:39", "nodeType": "VariableDeclaration", - "scope": 57, - "src": "555:19:0", + "scope": 47155, + "src": "555:19:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2142,10 +2142,10 @@ "typeString": "uint256" }, "typeName": { - "id": 41, + "id": 47139, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "555:4:0", + "src": "555:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2155,13 +2155,13 @@ }, { "constant": false, - "id": 44, + "id": 47142, "mutability": "mutable", "name": "amountETHMin", - "nameLocation": "589:12:0", + "nameLocation": "589:12:39", "nodeType": "VariableDeclaration", - "scope": 57, - "src": "584:17:0", + "scope": 47155, + "src": "584:17:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2169,10 +2169,10 @@ "typeString": "uint256" }, "typeName": { - "id": 43, + "id": 47141, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "584:4:0", + "src": "584:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2182,13 +2182,13 @@ }, { "constant": false, - "id": 46, + "id": 47144, "mutability": "mutable", "name": "to", - "nameLocation": "619:2:0", + "nameLocation": "619:2:39", "nodeType": "VariableDeclaration", - "scope": 57, - "src": "611:10:0", + "scope": 47155, + "src": "611:10:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2196,10 +2196,10 @@ "typeString": "address" }, "typeName": { - "id": 45, + "id": 47143, "name": "address", "nodeType": "ElementaryTypeName", - "src": "611:7:0", + "src": "611:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2210,13 +2210,13 @@ }, { "constant": false, - "id": 48, + "id": 47146, "mutability": "mutable", "name": "deadline", - "nameLocation": "636:8:0", + "nameLocation": "636:8:39", "nodeType": "VariableDeclaration", - "scope": 57, - "src": "631:13:0", + "scope": 47155, + "src": "631:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2224,10 +2224,10 @@ "typeString": "uint256" }, "typeName": { - "id": 47, + "id": 47145, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "631:4:0", + "src": "631:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2236,21 +2236,21 @@ "visibility": "internal" } ], - "src": "489:161:0" + "src": "489:161:39" }, "returnParameters": { - "id": 56, + "id": 47154, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 51, + "id": 47149, "mutability": "mutable", "name": "amountToken", - "nameLocation": "682:11:0", + "nameLocation": "682:11:39", "nodeType": "VariableDeclaration", - "scope": 57, - "src": "677:16:0", + "scope": 47155, + "src": "677:16:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2258,10 +2258,10 @@ "typeString": "uint256" }, "typeName": { - "id": 50, + "id": 47148, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "677:4:0", + "src": "677:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2271,13 +2271,13 @@ }, { "constant": false, - "id": 53, + "id": 47151, "mutability": "mutable", "name": "amountETH", - "nameLocation": "700:9:0", + "nameLocation": "700:9:39", "nodeType": "VariableDeclaration", - "scope": 57, - "src": "695:14:0", + "scope": 47155, + "src": "695:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2285,10 +2285,10 @@ "typeString": "uint256" }, "typeName": { - "id": 52, + "id": 47150, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "695:4:0", + "src": "695:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2298,13 +2298,13 @@ }, { "constant": false, - "id": 55, + "id": 47153, "mutability": "mutable", "name": "liquidity", - "nameLocation": "716:9:0", + "nameLocation": "716:9:39", "nodeType": "VariableDeclaration", - "scope": 57, - "src": "711:14:0", + "scope": 47155, + "src": "711:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2312,10 +2312,10 @@ "typeString": "uint256" }, "typeName": { - "id": 54, + "id": 47152, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "711:4:0", + "src": "711:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2324,37 +2324,37 @@ "visibility": "internal" } ], - "src": "676:50:0" + "src": "676:50:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "payable", "virtual": false, "visibility": "external" }, { - "id": 78, + "id": 47176, "nodeType": "FunctionDefinition", - "src": "732:242:0", + "src": "732:242:39", "nodes": [], "functionSelector": "baa2abde", "implemented": false, "kind": "function", "modifiers": [], "name": "removeLiquidity", - "nameLocation": "741:15:0", + "nameLocation": "741:15:39", "parameters": { - "id": 72, + "id": 47170, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 59, + "id": 47157, "mutability": "mutable", "name": "tokenA", - "nameLocation": "774:6:0", + "nameLocation": "774:6:39", "nodeType": "VariableDeclaration", - "scope": 78, - "src": "766:14:0", + "scope": 47176, + "src": "766:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2362,10 +2362,10 @@ "typeString": "address" }, "typeName": { - "id": 58, + "id": 47156, "name": "address", "nodeType": "ElementaryTypeName", - "src": "766:7:0", + "src": "766:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2376,13 +2376,13 @@ }, { "constant": false, - "id": 61, + "id": 47159, "mutability": "mutable", "name": "tokenB", - "nameLocation": "798:6:0", + "nameLocation": "798:6:39", "nodeType": "VariableDeclaration", - "scope": 78, - "src": "790:14:0", + "scope": 47176, + "src": "790:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2390,10 +2390,10 @@ "typeString": "address" }, "typeName": { - "id": 60, + "id": 47158, "name": "address", "nodeType": "ElementaryTypeName", - "src": "790:7:0", + "src": "790:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2404,13 +2404,13 @@ }, { "constant": false, - "id": 63, + "id": 47161, "mutability": "mutable", "name": "liquidity", - "nameLocation": "819:9:0", + "nameLocation": "819:9:39", "nodeType": "VariableDeclaration", - "scope": 78, - "src": "814:14:0", + "scope": 47176, + "src": "814:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2418,10 +2418,10 @@ "typeString": "uint256" }, "typeName": { - "id": 62, + "id": 47160, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "814:4:0", + "src": "814:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2431,13 +2431,13 @@ }, { "constant": false, - "id": 65, + "id": 47163, "mutability": "mutable", "name": "amountAMin", - "nameLocation": "843:10:0", + "nameLocation": "843:10:39", "nodeType": "VariableDeclaration", - "scope": 78, - "src": "838:15:0", + "scope": 47176, + "src": "838:15:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2445,10 +2445,10 @@ "typeString": "uint256" }, "typeName": { - "id": 64, + "id": 47162, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "838:4:0", + "src": "838:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2458,13 +2458,13 @@ }, { "constant": false, - "id": 67, + "id": 47165, "mutability": "mutable", "name": "amountBMin", - "nameLocation": "868:10:0", + "nameLocation": "868:10:39", "nodeType": "VariableDeclaration", - "scope": 78, - "src": "863:15:0", + "scope": 47176, + "src": "863:15:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2472,10 +2472,10 @@ "typeString": "uint256" }, "typeName": { - "id": 66, + "id": 47164, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "863:4:0", + "src": "863:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2485,13 +2485,13 @@ }, { "constant": false, - "id": 69, + "id": 47167, "mutability": "mutable", "name": "to", - "nameLocation": "896:2:0", + "nameLocation": "896:2:39", "nodeType": "VariableDeclaration", - "scope": 78, - "src": "888:10:0", + "scope": 47176, + "src": "888:10:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2499,10 +2499,10 @@ "typeString": "address" }, "typeName": { - "id": 68, + "id": 47166, "name": "address", "nodeType": "ElementaryTypeName", - "src": "888:7:0", + "src": "888:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2513,13 +2513,13 @@ }, { "constant": false, - "id": 71, + "id": 47169, "mutability": "mutable", "name": "deadline", - "nameLocation": "913:8:0", + "nameLocation": "913:8:39", "nodeType": "VariableDeclaration", - "scope": 78, - "src": "908:13:0", + "scope": 47176, + "src": "908:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2527,10 +2527,10 @@ "typeString": "uint256" }, "typeName": { - "id": 70, + "id": 47168, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "908:4:0", + "src": "908:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2539,21 +2539,21 @@ "visibility": "internal" } ], - "src": "756:171:0" + "src": "756:171:39" }, "returnParameters": { - "id": 77, + "id": 47175, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 74, + "id": 47172, "mutability": "mutable", "name": "amountA", - "nameLocation": "951:7:0", + "nameLocation": "951:7:39", "nodeType": "VariableDeclaration", - "scope": 78, - "src": "946:12:0", + "scope": 47176, + "src": "946:12:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2561,10 +2561,10 @@ "typeString": "uint256" }, "typeName": { - "id": 73, + "id": 47171, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "946:4:0", + "src": "946:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2574,13 +2574,13 @@ }, { "constant": false, - "id": 76, + "id": 47174, "mutability": "mutable", "name": "amountB", - "nameLocation": "965:7:0", + "nameLocation": "965:7:39", "nodeType": "VariableDeclaration", - "scope": 78, - "src": "960:12:0", + "scope": 47176, + "src": "960:12:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2588,10 +2588,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75, + "id": 47173, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "960:4:0", + "src": "960:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2600,37 +2600,37 @@ "visibility": "internal" } ], - "src": "945:28:0" + "src": "945:28:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 97, + "id": 47195, "nodeType": "FunctionDefinition", - "src": "979:232:0", + "src": "979:232:39", "nodes": [], "functionSelector": "02751cec", "implemented": false, "kind": "function", "modifiers": [], "name": "removeLiquidityETH", - "nameLocation": "988:18:0", + "nameLocation": "988:18:39", "parameters": { - "id": 91, + "id": 47189, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 80, + "id": 47178, "mutability": "mutable", "name": "token", - "nameLocation": "1024:5:0", + "nameLocation": "1024:5:39", "nodeType": "VariableDeclaration", - "scope": 97, - "src": "1016:13:0", + "scope": 47195, + "src": "1016:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2638,10 +2638,10 @@ "typeString": "address" }, "typeName": { - "id": 79, + "id": 47177, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1016:7:0", + "src": "1016:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2652,13 +2652,13 @@ }, { "constant": false, - "id": 82, + "id": 47180, "mutability": "mutable", "name": "liquidity", - "nameLocation": "1044:9:0", + "nameLocation": "1044:9:39", "nodeType": "VariableDeclaration", - "scope": 97, - "src": "1039:14:0", + "scope": 47195, + "src": "1039:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2666,10 +2666,10 @@ "typeString": "uint256" }, "typeName": { - "id": 81, + "id": 47179, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1039:4:0", + "src": "1039:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2679,13 +2679,13 @@ }, { "constant": false, - "id": 84, + "id": 47182, "mutability": "mutable", "name": "amountTokenMin", - "nameLocation": "1068:14:0", + "nameLocation": "1068:14:39", "nodeType": "VariableDeclaration", - "scope": 97, - "src": "1063:19:0", + "scope": 47195, + "src": "1063:19:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2693,10 +2693,10 @@ "typeString": "uint256" }, "typeName": { - "id": 83, + "id": 47181, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1063:4:0", + "src": "1063:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2706,13 +2706,13 @@ }, { "constant": false, - "id": 86, + "id": 47184, "mutability": "mutable", "name": "amountETHMin", - "nameLocation": "1097:12:0", + "nameLocation": "1097:12:39", "nodeType": "VariableDeclaration", - "scope": 97, - "src": "1092:17:0", + "scope": 47195, + "src": "1092:17:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2720,10 +2720,10 @@ "typeString": "uint256" }, "typeName": { - "id": 85, + "id": 47183, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1092:4:0", + "src": "1092:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2733,13 +2733,13 @@ }, { "constant": false, - "id": 88, + "id": 47186, "mutability": "mutable", "name": "to", - "nameLocation": "1127:2:0", + "nameLocation": "1127:2:39", "nodeType": "VariableDeclaration", - "scope": 97, - "src": "1119:10:0", + "scope": 47195, + "src": "1119:10:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2747,10 +2747,10 @@ "typeString": "address" }, "typeName": { - "id": 87, + "id": 47185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1119:7:0", + "src": "1119:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2761,13 +2761,13 @@ }, { "constant": false, - "id": 90, + "id": 47188, "mutability": "mutable", "name": "deadline", - "nameLocation": "1144:8:0", + "nameLocation": "1144:8:39", "nodeType": "VariableDeclaration", - "scope": 97, - "src": "1139:13:0", + "scope": 47195, + "src": "1139:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2775,10 +2775,10 @@ "typeString": "uint256" }, "typeName": { - "id": 89, + "id": 47187, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1139:4:0", + "src": "1139:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2787,21 +2787,21 @@ "visibility": "internal" } ], - "src": "1006:152:0" + "src": "1006:152:39" }, "returnParameters": { - "id": 96, + "id": 47194, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 93, + "id": 47191, "mutability": "mutable", "name": "amountToken", - "nameLocation": "1182:11:0", + "nameLocation": "1182:11:39", "nodeType": "VariableDeclaration", - "scope": 97, - "src": "1177:16:0", + "scope": 47195, + "src": "1177:16:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2809,10 +2809,10 @@ "typeString": "uint256" }, "typeName": { - "id": 92, + "id": 47190, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1177:4:0", + "src": "1177:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2822,13 +2822,13 @@ }, { "constant": false, - "id": 95, + "id": 47193, "mutability": "mutable", "name": "amountETH", - "nameLocation": "1200:9:0", + "nameLocation": "1200:9:39", "nodeType": "VariableDeclaration", - "scope": 97, - "src": "1195:14:0", + "scope": 47195, + "src": "1195:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2836,10 +2836,10 @@ "typeString": "uint256" }, "typeName": { - "id": 94, + "id": 47192, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1195:4:0", + "src": "1195:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2848,37 +2848,37 @@ "visibility": "internal" } ], - "src": "1176:34:0" + "src": "1176:34:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 126, + "id": 47224, "nodeType": "FunctionDefinition", - "src": "1216:308:0", + "src": "1216:308:39", "nodes": [], "functionSelector": "2195995c", "implemented": false, "kind": "function", "modifiers": [], "name": "removeLiquidityWithPermit", - "nameLocation": "1225:25:0", + "nameLocation": "1225:25:39", "parameters": { - "id": 120, + "id": 47218, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 99, + "id": 47197, "mutability": "mutable", "name": "tokenA", - "nameLocation": "1268:6:0", + "nameLocation": "1268:6:39", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1260:14:0", + "scope": 47224, + "src": "1260:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2886,10 +2886,10 @@ "typeString": "address" }, "typeName": { - "id": 98, + "id": 47196, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1260:7:0", + "src": "1260:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2900,13 +2900,13 @@ }, { "constant": false, - "id": 101, + "id": 47199, "mutability": "mutable", "name": "tokenB", - "nameLocation": "1292:6:0", + "nameLocation": "1292:6:39", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1284:14:0", + "scope": 47224, + "src": "1284:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2914,10 +2914,10 @@ "typeString": "address" }, "typeName": { - "id": 100, + "id": 47198, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1284:7:0", + "src": "1284:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2928,13 +2928,13 @@ }, { "constant": false, - "id": 103, + "id": 47201, "mutability": "mutable", "name": "liquidity", - "nameLocation": "1313:9:0", + "nameLocation": "1313:9:39", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1308:14:0", + "scope": 47224, + "src": "1308:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2942,10 +2942,10 @@ "typeString": "uint256" }, "typeName": { - "id": 102, + "id": 47200, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1308:4:0", + "src": "1308:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2955,13 +2955,13 @@ }, { "constant": false, - "id": 105, + "id": 47203, "mutability": "mutable", "name": "amountAMin", - "nameLocation": "1337:10:0", + "nameLocation": "1337:10:39", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1332:15:0", + "scope": 47224, + "src": "1332:15:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2969,10 +2969,10 @@ "typeString": "uint256" }, "typeName": { - "id": 104, + "id": 47202, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1332:4:0", + "src": "1332:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2982,13 +2982,13 @@ }, { "constant": false, - "id": 107, + "id": 47205, "mutability": "mutable", "name": "amountBMin", - "nameLocation": "1362:10:0", + "nameLocation": "1362:10:39", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1357:15:0", + "scope": 47224, + "src": "1357:15:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2996,10 +2996,10 @@ "typeString": "uint256" }, "typeName": { - "id": 106, + "id": 47204, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1357:4:0", + "src": "1357:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3009,13 +3009,13 @@ }, { "constant": false, - "id": 109, + "id": 47207, "mutability": "mutable", "name": "to", - "nameLocation": "1390:2:0", + "nameLocation": "1390:2:39", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1382:10:0", + "scope": 47224, + "src": "1382:10:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3023,10 +3023,10 @@ "typeString": "address" }, "typeName": { - "id": 108, + "id": 47206, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1382:7:0", + "src": "1382:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3037,13 +3037,13 @@ }, { "constant": false, - "id": 111, + "id": 47209, "mutability": "mutable", "name": "deadline", - "nameLocation": "1407:8:0", + "nameLocation": "1407:8:39", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1402:13:0", + "scope": 47224, + "src": "1402:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3051,10 +3051,10 @@ "typeString": "uint256" }, "typeName": { - "id": 110, + "id": 47208, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1402:4:0", + "src": "1402:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3064,13 +3064,13 @@ }, { "constant": false, - "id": 113, + "id": 47211, "mutability": "mutable", "name": "approveMax", - "nameLocation": "1430:10:0", + "nameLocation": "1430:10:39", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1425:15:0", + "scope": 47224, + "src": "1425:15:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3078,10 +3078,10 @@ "typeString": "bool" }, "typeName": { - "id": 112, + "id": 47210, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1425:4:0", + "src": "1425:4:39", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3091,13 +3091,13 @@ }, { "constant": false, - "id": 115, + "id": 47213, "mutability": "mutable", "name": "v", - "nameLocation": "1448:1:0", + "nameLocation": "1448:1:39", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1442:7:0", + "scope": 47224, + "src": "1442:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3105,10 +3105,10 @@ "typeString": "uint8" }, "typeName": { - "id": 114, + "id": 47212, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1442:5:0", + "src": "1442:5:39", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3118,13 +3118,13 @@ }, { "constant": false, - "id": 117, + "id": 47215, "mutability": "mutable", "name": "r", - "nameLocation": "1459:1:0", + "nameLocation": "1459:1:39", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1451:9:0", + "scope": 47224, + "src": "1451:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3132,10 +3132,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 116, + "id": 47214, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1451:7:0", + "src": "1451:7:39", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3145,13 +3145,13 @@ }, { "constant": false, - "id": 119, + "id": 47217, "mutability": "mutable", "name": "s", - "nameLocation": "1470:1:0", + "nameLocation": "1470:1:39", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1462:9:0", + "scope": 47224, + "src": "1462:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3159,10 +3159,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 118, + "id": 47216, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1462:7:0", + "src": "1462:7:39", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3171,21 +3171,21 @@ "visibility": "internal" } ], - "src": "1250:227:0" + "src": "1250:227:39" }, "returnParameters": { - "id": 125, + "id": 47223, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 122, + "id": 47220, "mutability": "mutable", "name": "amountA", - "nameLocation": "1501:7:0", + "nameLocation": "1501:7:39", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1496:12:0", + "scope": 47224, + "src": "1496:12:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3193,10 +3193,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121, + "id": 47219, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1496:4:0", + "src": "1496:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3206,13 +3206,13 @@ }, { "constant": false, - "id": 124, + "id": 47222, "mutability": "mutable", "name": "amountB", - "nameLocation": "1515:7:0", + "nameLocation": "1515:7:39", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1510:12:0", + "scope": 47224, + "src": "1510:12:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3220,10 +3220,10 @@ "typeString": "uint256" }, "typeName": { - "id": 123, + "id": 47221, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1510:4:0", + "src": "1510:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3232,37 +3232,37 @@ "visibility": "internal" } ], - "src": "1495:28:0" + "src": "1495:28:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 153, + "id": 47251, "nodeType": "FunctionDefinition", - "src": "1529:298:0", + "src": "1529:298:39", "nodes": [], "functionSelector": "ded9382a", "implemented": false, "kind": "function", "modifiers": [], "name": "removeLiquidityETHWithPermit", - "nameLocation": "1538:28:0", + "nameLocation": "1538:28:39", "parameters": { - "id": 147, + "id": 47245, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 128, + "id": 47226, "mutability": "mutable", "name": "token", - "nameLocation": "1584:5:0", + "nameLocation": "1584:5:39", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "1576:13:0", + "scope": 47251, + "src": "1576:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3270,10 +3270,10 @@ "typeString": "address" }, "typeName": { - "id": 127, + "id": 47225, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1576:7:0", + "src": "1576:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3284,13 +3284,13 @@ }, { "constant": false, - "id": 130, + "id": 47228, "mutability": "mutable", "name": "liquidity", - "nameLocation": "1604:9:0", + "nameLocation": "1604:9:39", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "1599:14:0", + "scope": 47251, + "src": "1599:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3298,10 +3298,10 @@ "typeString": "uint256" }, "typeName": { - "id": 129, + "id": 47227, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1599:4:0", + "src": "1599:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3311,13 +3311,13 @@ }, { "constant": false, - "id": 132, + "id": 47230, "mutability": "mutable", "name": "amountTokenMin", - "nameLocation": "1628:14:0", + "nameLocation": "1628:14:39", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "1623:19:0", + "scope": 47251, + "src": "1623:19:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3325,10 +3325,10 @@ "typeString": "uint256" }, "typeName": { - "id": 131, + "id": 47229, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1623:4:0", + "src": "1623:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3338,13 +3338,13 @@ }, { "constant": false, - "id": 134, + "id": 47232, "mutability": "mutable", "name": "amountETHMin", - "nameLocation": "1657:12:0", + "nameLocation": "1657:12:39", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "1652:17:0", + "scope": 47251, + "src": "1652:17:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3352,10 +3352,10 @@ "typeString": "uint256" }, "typeName": { - "id": 133, + "id": 47231, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1652:4:0", + "src": "1652:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3365,13 +3365,13 @@ }, { "constant": false, - "id": 136, + "id": 47234, "mutability": "mutable", "name": "to", - "nameLocation": "1687:2:0", + "nameLocation": "1687:2:39", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "1679:10:0", + "scope": 47251, + "src": "1679:10:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3379,10 +3379,10 @@ "typeString": "address" }, "typeName": { - "id": 135, + "id": 47233, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1679:7:0", + "src": "1679:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3393,13 +3393,13 @@ }, { "constant": false, - "id": 138, + "id": 47236, "mutability": "mutable", "name": "deadline", - "nameLocation": "1704:8:0", + "nameLocation": "1704:8:39", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "1699:13:0", + "scope": 47251, + "src": "1699:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3407,10 +3407,10 @@ "typeString": "uint256" }, "typeName": { - "id": 137, + "id": 47235, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1699:4:0", + "src": "1699:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3420,13 +3420,13 @@ }, { "constant": false, - "id": 140, + "id": 47238, "mutability": "mutable", "name": "approveMax", - "nameLocation": "1727:10:0", + "nameLocation": "1727:10:39", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "1722:15:0", + "scope": 47251, + "src": "1722:15:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3434,10 +3434,10 @@ "typeString": "bool" }, "typeName": { - "id": 139, + "id": 47237, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1722:4:0", + "src": "1722:4:39", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3447,13 +3447,13 @@ }, { "constant": false, - "id": 142, + "id": 47240, "mutability": "mutable", "name": "v", - "nameLocation": "1745:1:0", + "nameLocation": "1745:1:39", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "1739:7:0", + "scope": 47251, + "src": "1739:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3461,10 +3461,10 @@ "typeString": "uint8" }, "typeName": { - "id": 141, + "id": 47239, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1739:5:0", + "src": "1739:5:39", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3474,13 +3474,13 @@ }, { "constant": false, - "id": 144, + "id": 47242, "mutability": "mutable", "name": "r", - "nameLocation": "1756:1:0", + "nameLocation": "1756:1:39", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "1748:9:0", + "scope": 47251, + "src": "1748:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3488,10 +3488,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 143, + "id": 47241, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1748:7:0", + "src": "1748:7:39", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3501,13 +3501,13 @@ }, { "constant": false, - "id": 146, + "id": 47244, "mutability": "mutable", "name": "s", - "nameLocation": "1767:1:0", + "nameLocation": "1767:1:39", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "1759:9:0", + "scope": 47251, + "src": "1759:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3515,10 +3515,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 145, + "id": 47243, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1759:7:0", + "src": "1759:7:39", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3527,21 +3527,21 @@ "visibility": "internal" } ], - "src": "1566:208:0" + "src": "1566:208:39" }, "returnParameters": { - "id": 152, + "id": 47250, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 149, + "id": 47247, "mutability": "mutable", "name": "amountToken", - "nameLocation": "1798:11:0", + "nameLocation": "1798:11:39", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "1793:16:0", + "scope": 47251, + "src": "1793:16:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3549,10 +3549,10 @@ "typeString": "uint256" }, "typeName": { - "id": 148, + "id": 47246, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1793:4:0", + "src": "1793:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3562,13 +3562,13 @@ }, { "constant": false, - "id": 151, + "id": 47249, "mutability": "mutable", "name": "amountETH", - "nameLocation": "1816:9:0", + "nameLocation": "1816:9:39", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "1811:14:0", + "scope": 47251, + "src": "1811:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3576,10 +3576,10 @@ "typeString": "uint256" }, "typeName": { - "id": 150, + "id": 47248, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1811:4:0", + "src": "1811:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3588,37 +3588,37 @@ "visibility": "internal" } ], - "src": "1792:34:0" + "src": "1792:34:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 170, + "id": 47268, "nodeType": "FunctionDefinition", - "src": "1832:207:0", + "src": "1832:207:39", "nodes": [], "functionSelector": "38ed1739", "implemented": false, "kind": "function", "modifiers": [], "name": "swapExactTokensForTokens", - "nameLocation": "1841:24:0", + "nameLocation": "1841:24:39", "parameters": { - "id": 165, + "id": 47263, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 155, + "id": 47253, "mutability": "mutable", "name": "amountIn", - "nameLocation": "1880:8:0", + "nameLocation": "1880:8:39", "nodeType": "VariableDeclaration", - "scope": 170, - "src": "1875:13:0", + "scope": 47268, + "src": "1875:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3626,10 +3626,10 @@ "typeString": "uint256" }, "typeName": { - "id": 154, + "id": 47252, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1875:4:0", + "src": "1875:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3639,13 +3639,13 @@ }, { "constant": false, - "id": 157, + "id": 47255, "mutability": "mutable", "name": "amountOutMin", - "nameLocation": "1903:12:0", + "nameLocation": "1903:12:39", "nodeType": "VariableDeclaration", - "scope": 170, - "src": "1898:17:0", + "scope": 47268, + "src": "1898:17:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3653,10 +3653,10 @@ "typeString": "uint256" }, "typeName": { - "id": 156, + "id": 47254, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1898:4:0", + "src": "1898:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3666,13 +3666,13 @@ }, { "constant": false, - "id": 160, + "id": 47258, "mutability": "mutable", "name": "path", - "nameLocation": "1944:4:0", + "nameLocation": "1944:4:39", "nodeType": "VariableDeclaration", - "scope": 170, - "src": "1925:23:0", + "scope": 47268, + "src": "1925:23:39", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3681,19 +3681,19 @@ }, "typeName": { "baseType": { - "id": 158, + "id": 47256, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1925:7:0", + "src": "1925:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 159, + "id": 47257, "nodeType": "ArrayTypeName", - "src": "1925:9:0", + "src": "1925:9:39", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -3703,13 +3703,13 @@ }, { "constant": false, - "id": 162, + "id": 47260, "mutability": "mutable", "name": "to", - "nameLocation": "1966:2:0", + "nameLocation": "1966:2:39", "nodeType": "VariableDeclaration", - "scope": 170, - "src": "1958:10:0", + "scope": 47268, + "src": "1958:10:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3717,10 +3717,10 @@ "typeString": "address" }, "typeName": { - "id": 161, + "id": 47259, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1958:7:0", + "src": "1958:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3731,13 +3731,13 @@ }, { "constant": false, - "id": 164, + "id": 47262, "mutability": "mutable", "name": "deadline", - "nameLocation": "1983:8:0", + "nameLocation": "1983:8:39", "nodeType": "VariableDeclaration", - "scope": 170, - "src": "1978:13:0", + "scope": 47268, + "src": "1978:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3745,10 +3745,10 @@ "typeString": "uint256" }, "typeName": { - "id": 163, + "id": 47261, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1978:4:0", + "src": "1978:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3757,21 +3757,21 @@ "visibility": "internal" } ], - "src": "1865:132:0" + "src": "1865:132:39" }, "returnParameters": { - "id": 169, + "id": 47267, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 168, + "id": 47266, "mutability": "mutable", "name": "amounts", - "nameLocation": "2030:7:0", + "nameLocation": "2030:7:39", "nodeType": "VariableDeclaration", - "scope": 170, - "src": "2016:21:0", + "scope": 47268, + "src": "2016:21:39", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3780,18 +3780,18 @@ }, "typeName": { "baseType": { - "id": 166, + "id": 47264, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2016:4:0", + "src": "2016:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 167, + "id": 47265, "nodeType": "ArrayTypeName", - "src": "2016:6:0", + "src": "2016:6:39", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -3800,37 +3800,37 @@ "visibility": "internal" } ], - "src": "2015:23:0" + "src": "2015:23:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 187, + "id": 47285, "nodeType": "FunctionDefinition", - "src": "2044:207:0", + "src": "2044:207:39", "nodes": [], "functionSelector": "8803dbee", "implemented": false, "kind": "function", "modifiers": [], "name": "swapTokensForExactTokens", - "nameLocation": "2053:24:0", + "nameLocation": "2053:24:39", "parameters": { - "id": 182, + "id": 47280, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 172, + "id": 47270, "mutability": "mutable", "name": "amountOut", - "nameLocation": "2092:9:0", + "nameLocation": "2092:9:39", "nodeType": "VariableDeclaration", - "scope": 187, - "src": "2087:14:0", + "scope": 47285, + "src": "2087:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3838,10 +3838,10 @@ "typeString": "uint256" }, "typeName": { - "id": 171, + "id": 47269, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2087:4:0", + "src": "2087:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3851,13 +3851,13 @@ }, { "constant": false, - "id": 174, + "id": 47272, "mutability": "mutable", "name": "amountInMax", - "nameLocation": "2116:11:0", + "nameLocation": "2116:11:39", "nodeType": "VariableDeclaration", - "scope": 187, - "src": "2111:16:0", + "scope": 47285, + "src": "2111:16:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3865,10 +3865,10 @@ "typeString": "uint256" }, "typeName": { - "id": 173, + "id": 47271, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2111:4:0", + "src": "2111:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3878,13 +3878,13 @@ }, { "constant": false, - "id": 177, + "id": 47275, "mutability": "mutable", "name": "path", - "nameLocation": "2156:4:0", + "nameLocation": "2156:4:39", "nodeType": "VariableDeclaration", - "scope": 187, - "src": "2137:23:0", + "scope": 47285, + "src": "2137:23:39", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3893,19 +3893,19 @@ }, "typeName": { "baseType": { - "id": 175, + "id": 47273, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2137:7:0", + "src": "2137:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 176, + "id": 47274, "nodeType": "ArrayTypeName", - "src": "2137:9:0", + "src": "2137:9:39", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -3915,13 +3915,13 @@ }, { "constant": false, - "id": 179, + "id": 47277, "mutability": "mutable", "name": "to", - "nameLocation": "2178:2:0", + "nameLocation": "2178:2:39", "nodeType": "VariableDeclaration", - "scope": 187, - "src": "2170:10:0", + "scope": 47285, + "src": "2170:10:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3929,10 +3929,10 @@ "typeString": "address" }, "typeName": { - "id": 178, + "id": 47276, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2170:7:0", + "src": "2170:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3943,13 +3943,13 @@ }, { "constant": false, - "id": 181, + "id": 47279, "mutability": "mutable", "name": "deadline", - "nameLocation": "2195:8:0", + "nameLocation": "2195:8:39", "nodeType": "VariableDeclaration", - "scope": 187, - "src": "2190:13:0", + "scope": 47285, + "src": "2190:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3957,10 +3957,10 @@ "typeString": "uint256" }, "typeName": { - "id": 180, + "id": 47278, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2190:4:0", + "src": "2190:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3969,21 +3969,21 @@ "visibility": "internal" } ], - "src": "2077:132:0" + "src": "2077:132:39" }, "returnParameters": { - "id": 186, + "id": 47284, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 185, + "id": 47283, "mutability": "mutable", "name": "amounts", - "nameLocation": "2242:7:0", + "nameLocation": "2242:7:39", "nodeType": "VariableDeclaration", - "scope": 187, - "src": "2228:21:0", + "scope": 47285, + "src": "2228:21:39", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3992,18 +3992,18 @@ }, "typeName": { "baseType": { - "id": 183, + "id": 47281, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2228:4:0", + "src": "2228:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 184, + "id": 47282, "nodeType": "ArrayTypeName", - "src": "2228:6:0", + "src": "2228:6:39", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -4012,37 +4012,37 @@ "visibility": "internal" } ], - "src": "2227:23:0" + "src": "2227:23:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 202, + "id": 47300, "nodeType": "FunctionDefinition", - "src": "2256:175:0", + "src": "2256:175:39", "nodes": [], "functionSelector": "7ff36ab5", "implemented": false, "kind": "function", "modifiers": [], "name": "swapExactETHForTokens", - "nameLocation": "2265:21:0", + "nameLocation": "2265:21:39", "parameters": { - "id": 197, + "id": 47295, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 189, + "id": 47287, "mutability": "mutable", "name": "amountOutMin", - "nameLocation": "2292:12:0", + "nameLocation": "2292:12:39", "nodeType": "VariableDeclaration", - "scope": 202, - "src": "2287:17:0", + "scope": 47300, + "src": "2287:17:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4050,10 +4050,10 @@ "typeString": "uint256" }, "typeName": { - "id": 188, + "id": 47286, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2287:4:0", + "src": "2287:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4063,13 +4063,13 @@ }, { "constant": false, - "id": 192, + "id": 47290, "mutability": "mutable", "name": "path", - "nameLocation": "2325:4:0", + "nameLocation": "2325:4:39", "nodeType": "VariableDeclaration", - "scope": 202, - "src": "2306:23:0", + "scope": 47300, + "src": "2306:23:39", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -4078,19 +4078,19 @@ }, "typeName": { "baseType": { - "id": 190, + "id": 47288, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2306:7:0", + "src": "2306:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 191, + "id": 47289, "nodeType": "ArrayTypeName", - "src": "2306:9:0", + "src": "2306:9:39", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -4100,13 +4100,13 @@ }, { "constant": false, - "id": 194, + "id": 47292, "mutability": "mutable", "name": "to", - "nameLocation": "2339:2:0", + "nameLocation": "2339:2:39", "nodeType": "VariableDeclaration", - "scope": 202, - "src": "2331:10:0", + "scope": 47300, + "src": "2331:10:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4114,10 +4114,10 @@ "typeString": "address" }, "typeName": { - "id": 193, + "id": 47291, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2331:7:0", + "src": "2331:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4128,13 +4128,13 @@ }, { "constant": false, - "id": 196, + "id": 47294, "mutability": "mutable", "name": "deadline", - "nameLocation": "2348:8:0", + "nameLocation": "2348:8:39", "nodeType": "VariableDeclaration", - "scope": 202, - "src": "2343:13:0", + "scope": 47300, + "src": "2343:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4142,10 +4142,10 @@ "typeString": "uint256" }, "typeName": { - "id": 195, + "id": 47293, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2343:4:0", + "src": "2343:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4154,21 +4154,21 @@ "visibility": "internal" } ], - "src": "2286:71:0" + "src": "2286:71:39" }, "returnParameters": { - "id": 201, + "id": 47299, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 200, + "id": 47298, "mutability": "mutable", "name": "amounts", - "nameLocation": "2422:7:0", + "nameLocation": "2422:7:39", "nodeType": "VariableDeclaration", - "scope": 202, - "src": "2408:21:0", + "scope": 47300, + "src": "2408:21:39", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4177,18 +4177,18 @@ }, "typeName": { "baseType": { - "id": 198, + "id": 47296, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2408:4:0", + "src": "2408:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 199, + "id": 47297, "nodeType": "ArrayTypeName", - "src": "2408:6:0", + "src": "2408:6:39", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -4197,37 +4197,37 @@ "visibility": "internal" } ], - "src": "2407:23:0" + "src": "2407:23:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "payable", "virtual": false, "visibility": "external" }, { - "id": 219, + "id": 47317, "nodeType": "FunctionDefinition", - "src": "2436:174:0", + "src": "2436:174:39", "nodes": [], "functionSelector": "4a25d94a", "implemented": false, "kind": "function", "modifiers": [], "name": "swapTokensForExactETH", - "nameLocation": "2445:21:0", + "nameLocation": "2445:21:39", "parameters": { - "id": 214, + "id": 47312, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 204, + "id": 47302, "mutability": "mutable", "name": "amountOut", - "nameLocation": "2472:9:0", + "nameLocation": "2472:9:39", "nodeType": "VariableDeclaration", - "scope": 219, - "src": "2467:14:0", + "scope": 47317, + "src": "2467:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4235,10 +4235,10 @@ "typeString": "uint256" }, "typeName": { - "id": 203, + "id": 47301, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2467:4:0", + "src": "2467:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4248,13 +4248,13 @@ }, { "constant": false, - "id": 206, + "id": 47304, "mutability": "mutable", "name": "amountInMax", - "nameLocation": "2488:11:0", + "nameLocation": "2488:11:39", "nodeType": "VariableDeclaration", - "scope": 219, - "src": "2483:16:0", + "scope": 47317, + "src": "2483:16:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4262,10 +4262,10 @@ "typeString": "uint256" }, "typeName": { - "id": 205, + "id": 47303, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2483:4:0", + "src": "2483:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4275,13 +4275,13 @@ }, { "constant": false, - "id": 209, + "id": 47307, "mutability": "mutable", "name": "path", - "nameLocation": "2520:4:0", + "nameLocation": "2520:4:39", "nodeType": "VariableDeclaration", - "scope": 219, - "src": "2501:23:0", + "scope": 47317, + "src": "2501:23:39", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -4290,19 +4290,19 @@ }, "typeName": { "baseType": { - "id": 207, + "id": 47305, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2501:7:0", + "src": "2501:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 208, + "id": 47306, "nodeType": "ArrayTypeName", - "src": "2501:9:0", + "src": "2501:9:39", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -4312,13 +4312,13 @@ }, { "constant": false, - "id": 211, + "id": 47309, "mutability": "mutable", "name": "to", - "nameLocation": "2534:2:0", + "nameLocation": "2534:2:39", "nodeType": "VariableDeclaration", - "scope": 219, - "src": "2526:10:0", + "scope": 47317, + "src": "2526:10:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4326,10 +4326,10 @@ "typeString": "address" }, "typeName": { - "id": 210, + "id": 47308, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2526:7:0", + "src": "2526:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4340,13 +4340,13 @@ }, { "constant": false, - "id": 213, + "id": 47311, "mutability": "mutable", "name": "deadline", - "nameLocation": "2543:8:0", + "nameLocation": "2543:8:39", "nodeType": "VariableDeclaration", - "scope": 219, - "src": "2538:13:0", + "scope": 47317, + "src": "2538:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4354,10 +4354,10 @@ "typeString": "uint256" }, "typeName": { - "id": 212, + "id": 47310, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2538:4:0", + "src": "2538:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4366,21 +4366,21 @@ "visibility": "internal" } ], - "src": "2466:86:0" + "src": "2466:86:39" }, "returnParameters": { - "id": 218, + "id": 47316, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 217, + "id": 47315, "mutability": "mutable", "name": "amounts", - "nameLocation": "2601:7:0", + "nameLocation": "2601:7:39", "nodeType": "VariableDeclaration", - "scope": 219, - "src": "2587:21:0", + "scope": 47317, + "src": "2587:21:39", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4389,18 +4389,18 @@ }, "typeName": { "baseType": { - "id": 215, + "id": 47313, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2587:4:0", + "src": "2587:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 216, + "id": 47314, "nodeType": "ArrayTypeName", - "src": "2587:6:0", + "src": "2587:6:39", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -4409,37 +4409,37 @@ "visibility": "internal" } ], - "src": "2586:23:0" + "src": "2586:23:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 236, + "id": 47334, "nodeType": "FunctionDefinition", - "src": "2615:174:0", + "src": "2615:174:39", "nodes": [], "functionSelector": "18cbafe5", "implemented": false, "kind": "function", "modifiers": [], "name": "swapExactTokensForETH", - "nameLocation": "2624:21:0", + "nameLocation": "2624:21:39", "parameters": { - "id": 231, + "id": 47329, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 221, + "id": 47319, "mutability": "mutable", "name": "amountIn", - "nameLocation": "2651:8:0", + "nameLocation": "2651:8:39", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "2646:13:0", + "scope": 47334, + "src": "2646:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4447,10 +4447,10 @@ "typeString": "uint256" }, "typeName": { - "id": 220, + "id": 47318, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2646:4:0", + "src": "2646:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4460,13 +4460,13 @@ }, { "constant": false, - "id": 223, + "id": 47321, "mutability": "mutable", "name": "amountOutMin", - "nameLocation": "2666:12:0", + "nameLocation": "2666:12:39", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "2661:17:0", + "scope": 47334, + "src": "2661:17:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4474,10 +4474,10 @@ "typeString": "uint256" }, "typeName": { - "id": 222, + "id": 47320, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2661:4:0", + "src": "2661:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4487,13 +4487,13 @@ }, { "constant": false, - "id": 226, + "id": 47324, "mutability": "mutable", "name": "path", - "nameLocation": "2699:4:0", + "nameLocation": "2699:4:39", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "2680:23:0", + "scope": 47334, + "src": "2680:23:39", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -4502,19 +4502,19 @@ }, "typeName": { "baseType": { - "id": 224, + "id": 47322, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2680:7:0", + "src": "2680:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 225, + "id": 47323, "nodeType": "ArrayTypeName", - "src": "2680:9:0", + "src": "2680:9:39", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -4524,13 +4524,13 @@ }, { "constant": false, - "id": 228, + "id": 47326, "mutability": "mutable", "name": "to", - "nameLocation": "2713:2:0", + "nameLocation": "2713:2:39", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "2705:10:0", + "scope": 47334, + "src": "2705:10:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4538,10 +4538,10 @@ "typeString": "address" }, "typeName": { - "id": 227, + "id": 47325, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2705:7:0", + "src": "2705:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4552,13 +4552,13 @@ }, { "constant": false, - "id": 230, + "id": 47328, "mutability": "mutable", "name": "deadline", - "nameLocation": "2722:8:0", + "nameLocation": "2722:8:39", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "2717:13:0", + "scope": 47334, + "src": "2717:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4566,10 +4566,10 @@ "typeString": "uint256" }, "typeName": { - "id": 229, + "id": 47327, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2717:4:0", + "src": "2717:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4578,21 +4578,21 @@ "visibility": "internal" } ], - "src": "2645:86:0" + "src": "2645:86:39" }, "returnParameters": { - "id": 235, + "id": 47333, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 234, + "id": 47332, "mutability": "mutable", "name": "amounts", - "nameLocation": "2780:7:0", + "nameLocation": "2780:7:39", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "2766:21:0", + "scope": 47334, + "src": "2766:21:39", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4601,18 +4601,18 @@ }, "typeName": { "baseType": { - "id": 232, + "id": 47330, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2766:4:0", + "src": "2766:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 233, + "id": 47331, "nodeType": "ArrayTypeName", - "src": "2766:6:0", + "src": "2766:6:39", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -4621,37 +4621,37 @@ "visibility": "internal" } ], - "src": "2765:23:0" + "src": "2765:23:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 251, + "id": 47349, "nodeType": "FunctionDefinition", - "src": "2794:172:0", + "src": "2794:172:39", "nodes": [], "functionSelector": "fb3bdb41", "implemented": false, "kind": "function", "modifiers": [], "name": "swapETHForExactTokens", - "nameLocation": "2803:21:0", + "nameLocation": "2803:21:39", "parameters": { - "id": 246, + "id": 47344, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 238, + "id": 47336, "mutability": "mutable", "name": "amountOut", - "nameLocation": "2830:9:0", + "nameLocation": "2830:9:39", "nodeType": "VariableDeclaration", - "scope": 251, - "src": "2825:14:0", + "scope": 47349, + "src": "2825:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4659,10 +4659,10 @@ "typeString": "uint256" }, "typeName": { - "id": 237, + "id": 47335, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2825:4:0", + "src": "2825:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4672,13 +4672,13 @@ }, { "constant": false, - "id": 241, + "id": 47339, "mutability": "mutable", "name": "path", - "nameLocation": "2860:4:0", + "nameLocation": "2860:4:39", "nodeType": "VariableDeclaration", - "scope": 251, - "src": "2841:23:0", + "scope": 47349, + "src": "2841:23:39", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -4687,19 +4687,19 @@ }, "typeName": { "baseType": { - "id": 239, + "id": 47337, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2841:7:0", + "src": "2841:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 240, + "id": 47338, "nodeType": "ArrayTypeName", - "src": "2841:9:0", + "src": "2841:9:39", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -4709,13 +4709,13 @@ }, { "constant": false, - "id": 243, + "id": 47341, "mutability": "mutable", "name": "to", - "nameLocation": "2874:2:0", + "nameLocation": "2874:2:39", "nodeType": "VariableDeclaration", - "scope": 251, - "src": "2866:10:0", + "scope": 47349, + "src": "2866:10:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4723,10 +4723,10 @@ "typeString": "address" }, "typeName": { - "id": 242, + "id": 47340, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2866:7:0", + "src": "2866:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4737,13 +4737,13 @@ }, { "constant": false, - "id": 245, + "id": 47343, "mutability": "mutable", "name": "deadline", - "nameLocation": "2883:8:0", + "nameLocation": "2883:8:39", "nodeType": "VariableDeclaration", - "scope": 251, - "src": "2878:13:0", + "scope": 47349, + "src": "2878:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4751,10 +4751,10 @@ "typeString": "uint256" }, "typeName": { - "id": 244, + "id": 47342, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2878:4:0", + "src": "2878:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4763,21 +4763,21 @@ "visibility": "internal" } ], - "src": "2824:68:0" + "src": "2824:68:39" }, "returnParameters": { - "id": 250, + "id": 47348, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 249, + "id": 47347, "mutability": "mutable", "name": "amounts", - "nameLocation": "2957:7:0", + "nameLocation": "2957:7:39", "nodeType": "VariableDeclaration", - "scope": 251, - "src": "2943:21:0", + "scope": 47349, + "src": "2943:21:39", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4786,18 +4786,18 @@ }, "typeName": { "baseType": { - "id": 247, + "id": 47345, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2943:4:0", + "src": "2943:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 248, + "id": 47346, "nodeType": "ArrayTypeName", - "src": "2943:6:0", + "src": "2943:6:39", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -4806,37 +4806,37 @@ "visibility": "internal" } ], - "src": "2942:23:0" + "src": "2942:23:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "payable", "virtual": false, "visibility": "external" }, { - "id": 262, + "id": 47360, "nodeType": "FunctionDefinition", - "src": "2972:96:0", + "src": "2972:96:39", "nodes": [], "functionSelector": "ad615dec", "implemented": false, "kind": "function", "modifiers": [], "name": "quote", - "nameLocation": "2981:5:0", + "nameLocation": "2981:5:39", "parameters": { - "id": 258, + "id": 47356, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 253, + "id": 47351, "mutability": "mutable", "name": "amountA", - "nameLocation": "2992:7:0", + "nameLocation": "2992:7:39", "nodeType": "VariableDeclaration", - "scope": 262, - "src": "2987:12:0", + "scope": 47360, + "src": "2987:12:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4844,10 +4844,10 @@ "typeString": "uint256" }, "typeName": { - "id": 252, + "id": 47350, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2987:4:0", + "src": "2987:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4857,13 +4857,13 @@ }, { "constant": false, - "id": 255, + "id": 47353, "mutability": "mutable", "name": "reserveA", - "nameLocation": "3006:8:0", + "nameLocation": "3006:8:39", "nodeType": "VariableDeclaration", - "scope": 262, - "src": "3001:13:0", + "scope": 47360, + "src": "3001:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4871,10 +4871,10 @@ "typeString": "uint256" }, "typeName": { - "id": 254, + "id": 47352, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3001:4:0", + "src": "3001:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4884,13 +4884,13 @@ }, { "constant": false, - "id": 257, + "id": 47355, "mutability": "mutable", "name": "reserveB", - "nameLocation": "3021:8:0", + "nameLocation": "3021:8:39", "nodeType": "VariableDeclaration", - "scope": 262, - "src": "3016:13:0", + "scope": 47360, + "src": "3016:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4898,10 +4898,10 @@ "typeString": "uint256" }, "typeName": { - "id": 256, + "id": 47354, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3016:4:0", + "src": "3016:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4910,21 +4910,21 @@ "visibility": "internal" } ], - "src": "2986:44:0" + "src": "2986:44:39" }, "returnParameters": { - "id": 261, + "id": 47359, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 260, + "id": 47358, "mutability": "mutable", "name": "amountB", - "nameLocation": "3059:7:0", + "nameLocation": "3059:7:39", "nodeType": "VariableDeclaration", - "scope": 262, - "src": "3054:12:0", + "scope": 47360, + "src": "3054:12:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4932,10 +4932,10 @@ "typeString": "uint256" }, "typeName": { - "id": 259, + "id": 47357, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3054:4:0", + "src": "3054:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4944,37 +4944,37 @@ "visibility": "internal" } ], - "src": "3053:14:0" + "src": "3053:14:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "pure", "virtual": false, "visibility": "external" }, { - "id": 273, + "id": 47371, "nodeType": "FunctionDefinition", - "src": "3073:109:0", + "src": "3073:109:39", "nodes": [], "functionSelector": "054d50d4", "implemented": false, "kind": "function", "modifiers": [], "name": "getAmountOut", - "nameLocation": "3082:12:0", + "nameLocation": "3082:12:39", "parameters": { - "id": 269, + "id": 47367, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 264, + "id": 47362, "mutability": "mutable", "name": "amountIn", - "nameLocation": "3100:8:0", + "nameLocation": "3100:8:39", "nodeType": "VariableDeclaration", - "scope": 273, - "src": "3095:13:0", + "scope": 47371, + "src": "3095:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4982,10 +4982,10 @@ "typeString": "uint256" }, "typeName": { - "id": 263, + "id": 47361, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3095:4:0", + "src": "3095:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4995,13 +4995,13 @@ }, { "constant": false, - "id": 266, + "id": 47364, "mutability": "mutable", "name": "reserveIn", - "nameLocation": "3115:9:0", + "nameLocation": "3115:9:39", "nodeType": "VariableDeclaration", - "scope": 273, - "src": "3110:14:0", + "scope": 47371, + "src": "3110:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5009,10 +5009,10 @@ "typeString": "uint256" }, "typeName": { - "id": 265, + "id": 47363, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3110:4:0", + "src": "3110:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5022,13 +5022,13 @@ }, { "constant": false, - "id": 268, + "id": 47366, "mutability": "mutable", "name": "reserveOut", - "nameLocation": "3131:10:0", + "nameLocation": "3131:10:39", "nodeType": "VariableDeclaration", - "scope": 273, - "src": "3126:15:0", + "scope": 47371, + "src": "3126:15:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5036,10 +5036,10 @@ "typeString": "uint256" }, "typeName": { - "id": 267, + "id": 47365, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3126:4:0", + "src": "3126:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5048,21 +5048,21 @@ "visibility": "internal" } ], - "src": "3094:48:0" + "src": "3094:48:39" }, "returnParameters": { - "id": 272, + "id": 47370, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 271, + "id": 47369, "mutability": "mutable", "name": "amountOut", - "nameLocation": "3171:9:0", + "nameLocation": "3171:9:39", "nodeType": "VariableDeclaration", - "scope": 273, - "src": "3166:14:0", + "scope": 47371, + "src": "3166:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5070,10 +5070,10 @@ "typeString": "uint256" }, "typeName": { - "id": 270, + "id": 47368, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3166:4:0", + "src": "3166:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5082,37 +5082,37 @@ "visibility": "internal" } ], - "src": "3165:16:0" + "src": "3165:16:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "pure", "virtual": false, "visibility": "external" }, { - "id": 284, + "id": 47382, "nodeType": "FunctionDefinition", - "src": "3187:108:0", + "src": "3187:108:39", "nodes": [], "functionSelector": "85f8c259", "implemented": false, "kind": "function", "modifiers": [], "name": "getAmountIn", - "nameLocation": "3196:11:0", + "nameLocation": "3196:11:39", "parameters": { - "id": 280, + "id": 47378, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 275, + "id": 47373, "mutability": "mutable", "name": "amountOut", - "nameLocation": "3213:9:0", + "nameLocation": "3213:9:39", "nodeType": "VariableDeclaration", - "scope": 284, - "src": "3208:14:0", + "scope": 47382, + "src": "3208:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5120,10 +5120,10 @@ "typeString": "uint256" }, "typeName": { - "id": 274, + "id": 47372, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3208:4:0", + "src": "3208:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5133,13 +5133,13 @@ }, { "constant": false, - "id": 277, + "id": 47375, "mutability": "mutable", "name": "reserveIn", - "nameLocation": "3229:9:0", + "nameLocation": "3229:9:39", "nodeType": "VariableDeclaration", - "scope": 284, - "src": "3224:14:0", + "scope": 47382, + "src": "3224:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5147,10 +5147,10 @@ "typeString": "uint256" }, "typeName": { - "id": 276, + "id": 47374, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3224:4:0", + "src": "3224:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5160,13 +5160,13 @@ }, { "constant": false, - "id": 279, + "id": 47377, "mutability": "mutable", "name": "reserveOut", - "nameLocation": "3245:10:0", + "nameLocation": "3245:10:39", "nodeType": "VariableDeclaration", - "scope": 284, - "src": "3240:15:0", + "scope": 47382, + "src": "3240:15:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5174,10 +5174,10 @@ "typeString": "uint256" }, "typeName": { - "id": 278, + "id": 47376, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3240:4:0", + "src": "3240:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5186,21 +5186,21 @@ "visibility": "internal" } ], - "src": "3207:49:0" + "src": "3207:49:39" }, "returnParameters": { - "id": 283, + "id": 47381, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 282, + "id": 47380, "mutability": "mutable", "name": "amountIn", - "nameLocation": "3285:8:0", + "nameLocation": "3285:8:39", "nodeType": "VariableDeclaration", - "scope": 284, - "src": "3280:13:0", + "scope": 47382, + "src": "3280:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5208,10 +5208,10 @@ "typeString": "uint256" }, "typeName": { - "id": 281, + "id": 47379, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3280:4:0", + "src": "3280:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5220,37 +5220,37 @@ "visibility": "internal" } ], - "src": "3279:15:0" + "src": "3279:15:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "pure", "virtual": false, "visibility": "external" }, { - "id": 295, + "id": 47393, "nodeType": "FunctionDefinition", - "src": "3300:109:0", + "src": "3300:109:39", "nodes": [], "functionSelector": "d06ca61f", "implemented": false, "kind": "function", "modifiers": [], "name": "getAmountsOut", - "nameLocation": "3309:13:0", + "nameLocation": "3309:13:39", "parameters": { - "id": 290, + "id": 47388, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 286, + "id": 47384, "mutability": "mutable", "name": "amountIn", - "nameLocation": "3328:8:0", + "nameLocation": "3328:8:39", "nodeType": "VariableDeclaration", - "scope": 295, - "src": "3323:13:0", + "scope": 47393, + "src": "3323:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5258,10 +5258,10 @@ "typeString": "uint256" }, "typeName": { - "id": 285, + "id": 47383, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3323:4:0", + "src": "3323:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5271,13 +5271,13 @@ }, { "constant": false, - "id": 289, + "id": 47387, "mutability": "mutable", "name": "path", - "nameLocation": "3357:4:0", + "nameLocation": "3357:4:39", "nodeType": "VariableDeclaration", - "scope": 295, - "src": "3338:23:0", + "scope": 47393, + "src": "3338:23:39", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -5286,19 +5286,19 @@ }, "typeName": { "baseType": { - "id": 287, + "id": 47385, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3338:7:0", + "src": "3338:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 288, + "id": 47386, "nodeType": "ArrayTypeName", - "src": "3338:9:0", + "src": "3338:9:39", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -5307,21 +5307,21 @@ "visibility": "internal" } ], - "src": "3322:40:0" + "src": "3322:40:39" }, "returnParameters": { - "id": 294, + "id": 47392, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 293, + "id": 47391, "mutability": "mutable", "name": "amounts", - "nameLocation": "3400:7:0", + "nameLocation": "3400:7:39", "nodeType": "VariableDeclaration", - "scope": 295, - "src": "3386:21:0", + "scope": 47393, + "src": "3386:21:39", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5330,18 +5330,18 @@ }, "typeName": { "baseType": { - "id": 291, + "id": 47389, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3386:4:0", + "src": "3386:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 292, + "id": 47390, "nodeType": "ArrayTypeName", - "src": "3386:6:0", + "src": "3386:6:39", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -5350,37 +5350,37 @@ "visibility": "internal" } ], - "src": "3385:23:0" + "src": "3385:23:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 306, + "id": 47404, "nodeType": "FunctionDefinition", - "src": "3414:109:0", + "src": "3414:109:39", "nodes": [], "functionSelector": "1f00ca74", "implemented": false, "kind": "function", "modifiers": [], "name": "getAmountsIn", - "nameLocation": "3423:12:0", + "nameLocation": "3423:12:39", "parameters": { - "id": 301, + "id": 47399, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 297, + "id": 47395, "mutability": "mutable", "name": "amountOut", - "nameLocation": "3441:9:0", + "nameLocation": "3441:9:39", "nodeType": "VariableDeclaration", - "scope": 306, - "src": "3436:14:0", + "scope": 47404, + "src": "3436:14:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5388,10 +5388,10 @@ "typeString": "uint256" }, "typeName": { - "id": 296, + "id": 47394, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3436:4:0", + "src": "3436:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5401,13 +5401,13 @@ }, { "constant": false, - "id": 300, + "id": 47398, "mutability": "mutable", "name": "path", - "nameLocation": "3471:4:0", + "nameLocation": "3471:4:39", "nodeType": "VariableDeclaration", - "scope": 306, - "src": "3452:23:0", + "scope": 47404, + "src": "3452:23:39", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -5416,19 +5416,19 @@ }, "typeName": { "baseType": { - "id": 298, + "id": 47396, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3452:7:0", + "src": "3452:7:39", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 299, + "id": 47397, "nodeType": "ArrayTypeName", - "src": "3452:9:0", + "src": "3452:9:39", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -5437,21 +5437,21 @@ "visibility": "internal" } ], - "src": "3435:41:0" + "src": "3435:41:39" }, "returnParameters": { - "id": 305, + "id": 47403, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 304, + "id": 47402, "mutability": "mutable", "name": "amounts", - "nameLocation": "3514:7:0", + "nameLocation": "3514:7:39", "nodeType": "VariableDeclaration", - "scope": 306, - "src": "3500:21:0", + "scope": 47404, + "src": "3500:21:39", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5460,18 +5460,18 @@ }, "typeName": { "baseType": { - "id": 302, + "id": 47400, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3500:4:0", + "src": "3500:4:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 303, + "id": 47401, "nodeType": "ArrayTypeName", - "src": "3500:6:0", + "src": "3500:6:39", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -5480,9 +5480,9 @@ "visibility": "internal" } ], - "src": "3499:23:0" + "src": "3499:23:39" }, - "scope": 307, + "scope": 47405, "stateMutability": "view", "virtual": false, "visibility": "external" @@ -5495,15 +5495,15 @@ "contractKind": "interface", "fullyImplemented": false, "linearizedBaseContracts": [ - 307 + 47405 ], "name": "IUniswapV2Router01", - "nameLocation": "36:18:0", - "scope": 308, + "nameLocation": "36:18:39", + "scope": 47406, "usedErrors": [], "usedEvents": [] } ] }, - "id": 0 + "id": 39 } \ No newline at end of file diff --git a/tests/contract-playground/out/IUniswapV2Router02.sol/IUniswapV2Router02.json b/tests/contract-playground/out/IUniswapV2Router02.sol/IUniswapV2Router02.json index 16bb226c8..b3d353a7a 100644 --- a/tests/contract-playground/out/IUniswapV2Router02.sol/IUniswapV2Router02.json +++ b/tests/contract-playground/out/IUniswapV2Router02.sol/IUniswapV2Router02.json @@ -2000,22 +2000,22 @@ }, "ast": { "absolutePath": "lib/v2-periphery/contracts/interfaces/IUniswapV2Router02.sol", - "id": 396, + "id": 47494, "exportedSymbols": { "IUniswapV2Router01": [ - 307 + 47405 ], "IUniswapV2Router02": [ - 395 + 47493 ] }, "nodeType": "SourceUnit", - "src": "0:1286:1", + "src": "0:1286:40", "nodes": [ { - "id": 309, + "id": 47407, "nodeType": "PragmaDirective", - "src": "0:24:1", + "src": "0:24:40", "nodes": [], "literals": [ "solidity", @@ -2025,47 +2025,47 @@ ] }, { - "id": 310, + "id": 47408, "nodeType": "ImportDirective", - "src": "26:34:1", + "src": "26:34:40", "nodes": [], "absolutePath": "lib/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol", "file": "./IUniswapV2Router01.sol", "nameLocation": "-1:-1:-1", - "scope": 396, - "sourceUnit": 308, + "scope": 47494, + "sourceUnit": 47406, "symbolAliases": [], "unitAlias": "" }, { - "id": 395, + "id": 47493, "nodeType": "ContractDefinition", - "src": "62:1223:1", + "src": "62:1223:40", "nodes": [ { - "id": 329, + "id": 47427, "nodeType": "FunctionDefinition", - "src": "119:243:1", + "src": "119:243:40", "nodes": [], "functionSelector": "af2979eb", "implemented": false, "kind": "function", "modifiers": [], "name": "removeLiquidityETHSupportingFeeOnTransferTokens", - "nameLocation": "128:47:1", + "nameLocation": "128:47:40", "parameters": { - "id": 325, + "id": 47423, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 314, + "id": 47412, "mutability": "mutable", "name": "token", - "nameLocation": "193:5:1", + "nameLocation": "193:5:40", "nodeType": "VariableDeclaration", - "scope": 329, - "src": "185:13:1", + "scope": 47427, + "src": "185:13:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2073,10 +2073,10 @@ "typeString": "address" }, "typeName": { - "id": 313, + "id": 47411, "name": "address", "nodeType": "ElementaryTypeName", - "src": "185:7:1", + "src": "185:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2087,13 +2087,13 @@ }, { "constant": false, - "id": 316, + "id": 47414, "mutability": "mutable", "name": "liquidity", - "nameLocation": "213:9:1", + "nameLocation": "213:9:40", "nodeType": "VariableDeclaration", - "scope": 329, - "src": "208:14:1", + "scope": 47427, + "src": "208:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2101,10 +2101,10 @@ "typeString": "uint256" }, "typeName": { - "id": 315, + "id": 47413, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "208:4:1", + "src": "208:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2114,13 +2114,13 @@ }, { "constant": false, - "id": 318, + "id": 47416, "mutability": "mutable", "name": "amountTokenMin", - "nameLocation": "237:14:1", + "nameLocation": "237:14:40", "nodeType": "VariableDeclaration", - "scope": 329, - "src": "232:19:1", + "scope": 47427, + "src": "232:19:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2128,10 +2128,10 @@ "typeString": "uint256" }, "typeName": { - "id": 317, + "id": 47415, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "232:4:1", + "src": "232:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2141,13 +2141,13 @@ }, { "constant": false, - "id": 320, + "id": 47418, "mutability": "mutable", "name": "amountETHMin", - "nameLocation": "266:12:1", + "nameLocation": "266:12:40", "nodeType": "VariableDeclaration", - "scope": 329, - "src": "261:17:1", + "scope": 47427, + "src": "261:17:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2155,10 +2155,10 @@ "typeString": "uint256" }, "typeName": { - "id": 319, + "id": 47417, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "261:4:1", + "src": "261:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2168,13 +2168,13 @@ }, { "constant": false, - "id": 322, + "id": 47420, "mutability": "mutable", "name": "to", - "nameLocation": "296:2:1", + "nameLocation": "296:2:40", "nodeType": "VariableDeclaration", - "scope": 329, - "src": "288:10:1", + "scope": 47427, + "src": "288:10:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2182,10 +2182,10 @@ "typeString": "address" }, "typeName": { - "id": 321, + "id": 47419, "name": "address", "nodeType": "ElementaryTypeName", - "src": "288:7:1", + "src": "288:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2196,13 +2196,13 @@ }, { "constant": false, - "id": 324, + "id": 47422, "mutability": "mutable", "name": "deadline", - "nameLocation": "313:8:1", + "nameLocation": "313:8:40", "nodeType": "VariableDeclaration", - "scope": 329, - "src": "308:13:1", + "scope": 47427, + "src": "308:13:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2210,10 +2210,10 @@ "typeString": "uint256" }, "typeName": { - "id": 323, + "id": 47421, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "308:4:1", + "src": "308:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2222,21 +2222,21 @@ "visibility": "internal" } ], - "src": "175:152:1" + "src": "175:152:40" }, "returnParameters": { - "id": 328, + "id": 47426, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 327, + "id": 47425, "mutability": "mutable", "name": "amountETH", - "nameLocation": "351:9:1", + "nameLocation": "351:9:40", "nodeType": "VariableDeclaration", - "scope": 329, - "src": "346:14:1", + "scope": 47427, + "src": "346:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2244,10 +2244,10 @@ "typeString": "uint256" }, "typeName": { - "id": 326, + "id": 47424, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "346:4:1", + "src": "346:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2256,37 +2256,37 @@ "visibility": "internal" } ], - "src": "345:16:1" + "src": "345:16:40" }, - "scope": 395, + "scope": 47493, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 354, + "id": 47452, "nodeType": "FunctionDefinition", - "src": "367:309:1", + "src": "367:309:40", "nodes": [], "functionSelector": "5b0d5984", "implemented": false, "kind": "function", "modifiers": [], "name": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", - "nameLocation": "376:57:1", + "nameLocation": "376:57:40", "parameters": { - "id": 350, + "id": 47448, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 331, + "id": 47429, "mutability": "mutable", "name": "token", - "nameLocation": "451:5:1", + "nameLocation": "451:5:40", "nodeType": "VariableDeclaration", - "scope": 354, - "src": "443:13:1", + "scope": 47452, + "src": "443:13:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2294,10 +2294,10 @@ "typeString": "address" }, "typeName": { - "id": 330, + "id": 47428, "name": "address", "nodeType": "ElementaryTypeName", - "src": "443:7:1", + "src": "443:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2308,13 +2308,13 @@ }, { "constant": false, - "id": 333, + "id": 47431, "mutability": "mutable", "name": "liquidity", - "nameLocation": "471:9:1", + "nameLocation": "471:9:40", "nodeType": "VariableDeclaration", - "scope": 354, - "src": "466:14:1", + "scope": 47452, + "src": "466:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2322,10 +2322,10 @@ "typeString": "uint256" }, "typeName": { - "id": 332, + "id": 47430, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "466:4:1", + "src": "466:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2335,13 +2335,13 @@ }, { "constant": false, - "id": 335, + "id": 47433, "mutability": "mutable", "name": "amountTokenMin", - "nameLocation": "495:14:1", + "nameLocation": "495:14:40", "nodeType": "VariableDeclaration", - "scope": 354, - "src": "490:19:1", + "scope": 47452, + "src": "490:19:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2349,10 +2349,10 @@ "typeString": "uint256" }, "typeName": { - "id": 334, + "id": 47432, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "490:4:1", + "src": "490:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2362,13 +2362,13 @@ }, { "constant": false, - "id": 337, + "id": 47435, "mutability": "mutable", "name": "amountETHMin", - "nameLocation": "524:12:1", + "nameLocation": "524:12:40", "nodeType": "VariableDeclaration", - "scope": 354, - "src": "519:17:1", + "scope": 47452, + "src": "519:17:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2376,10 +2376,10 @@ "typeString": "uint256" }, "typeName": { - "id": 336, + "id": 47434, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "519:4:1", + "src": "519:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2389,13 +2389,13 @@ }, { "constant": false, - "id": 339, + "id": 47437, "mutability": "mutable", "name": "to", - "nameLocation": "554:2:1", + "nameLocation": "554:2:40", "nodeType": "VariableDeclaration", - "scope": 354, - "src": "546:10:1", + "scope": 47452, + "src": "546:10:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2403,10 +2403,10 @@ "typeString": "address" }, "typeName": { - "id": 338, + "id": 47436, "name": "address", "nodeType": "ElementaryTypeName", - "src": "546:7:1", + "src": "546:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2417,13 +2417,13 @@ }, { "constant": false, - "id": 341, + "id": 47439, "mutability": "mutable", "name": "deadline", - "nameLocation": "571:8:1", + "nameLocation": "571:8:40", "nodeType": "VariableDeclaration", - "scope": 354, - "src": "566:13:1", + "scope": 47452, + "src": "566:13:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2431,10 +2431,10 @@ "typeString": "uint256" }, "typeName": { - "id": 340, + "id": 47438, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "566:4:1", + "src": "566:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2444,13 +2444,13 @@ }, { "constant": false, - "id": 343, + "id": 47441, "mutability": "mutable", "name": "approveMax", - "nameLocation": "594:10:1", + "nameLocation": "594:10:40", "nodeType": "VariableDeclaration", - "scope": 354, - "src": "589:15:1", + "scope": 47452, + "src": "589:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2458,10 +2458,10 @@ "typeString": "bool" }, "typeName": { - "id": 342, + "id": 47440, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "589:4:1", + "src": "589:4:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2471,13 +2471,13 @@ }, { "constant": false, - "id": 345, + "id": 47443, "mutability": "mutable", "name": "v", - "nameLocation": "612:1:1", + "nameLocation": "612:1:40", "nodeType": "VariableDeclaration", - "scope": 354, - "src": "606:7:1", + "scope": 47452, + "src": "606:7:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2485,10 +2485,10 @@ "typeString": "uint8" }, "typeName": { - "id": 344, + "id": 47442, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "606:5:1", + "src": "606:5:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2498,13 +2498,13 @@ }, { "constant": false, - "id": 347, + "id": 47445, "mutability": "mutable", "name": "r", - "nameLocation": "623:1:1", + "nameLocation": "623:1:40", "nodeType": "VariableDeclaration", - "scope": 354, - "src": "615:9:1", + "scope": 47452, + "src": "615:9:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2512,10 +2512,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 346, + "id": 47444, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "615:7:1", + "src": "615:7:40", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2525,13 +2525,13 @@ }, { "constant": false, - "id": 349, + "id": 47447, "mutability": "mutable", "name": "s", - "nameLocation": "634:1:1", + "nameLocation": "634:1:40", "nodeType": "VariableDeclaration", - "scope": 354, - "src": "626:9:1", + "scope": 47452, + "src": "626:9:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2539,10 +2539,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 348, + "id": 47446, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "626:7:1", + "src": "626:7:40", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2551,21 +2551,21 @@ "visibility": "internal" } ], - "src": "433:208:1" + "src": "433:208:40" }, "returnParameters": { - "id": 353, + "id": 47451, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 352, + "id": 47450, "mutability": "mutable", "name": "amountETH", - "nameLocation": "665:9:1", + "nameLocation": "665:9:40", "nodeType": "VariableDeclaration", - "scope": 354, - "src": "660:14:1", + "scope": 47452, + "src": "660:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2573,10 +2573,10 @@ "typeString": "uint256" }, "typeName": { - "id": 351, + "id": 47449, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "660:4:1", + "src": "660:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2585,37 +2585,37 @@ "visibility": "internal" } ], - "src": "659:16:1" + "src": "659:16:40" }, - "scope": 395, + "scope": 47493, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 368, + "id": 47466, "nodeType": "FunctionDefinition", - "src": "682:204:1", + "src": "682:204:40", "nodes": [], "functionSelector": "5c11d795", "implemented": false, "kind": "function", "modifiers": [], "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", - "nameLocation": "691:53:1", + "nameLocation": "691:53:40", "parameters": { - "id": 366, + "id": 47464, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 356, + "id": 47454, "mutability": "mutable", "name": "amountIn", - "nameLocation": "759:8:1", + "nameLocation": "759:8:40", "nodeType": "VariableDeclaration", - "scope": 368, - "src": "754:13:1", + "scope": 47466, + "src": "754:13:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2623,10 +2623,10 @@ "typeString": "uint256" }, "typeName": { - "id": 355, + "id": 47453, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "754:4:1", + "src": "754:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2636,13 +2636,13 @@ }, { "constant": false, - "id": 358, + "id": 47456, "mutability": "mutable", "name": "amountOutMin", - "nameLocation": "782:12:1", + "nameLocation": "782:12:40", "nodeType": "VariableDeclaration", - "scope": 368, - "src": "777:17:1", + "scope": 47466, + "src": "777:17:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2650,10 +2650,10 @@ "typeString": "uint256" }, "typeName": { - "id": 357, + "id": 47455, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "777:4:1", + "src": "777:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2663,13 +2663,13 @@ }, { "constant": false, - "id": 361, + "id": 47459, "mutability": "mutable", "name": "path", - "nameLocation": "823:4:1", + "nameLocation": "823:4:40", "nodeType": "VariableDeclaration", - "scope": 368, - "src": "804:23:1", + "scope": 47466, + "src": "804:23:40", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -2678,19 +2678,19 @@ }, "typeName": { "baseType": { - "id": 359, + "id": 47457, "name": "address", "nodeType": "ElementaryTypeName", - "src": "804:7:1", + "src": "804:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 360, + "id": 47458, "nodeType": "ArrayTypeName", - "src": "804:9:1", + "src": "804:9:40", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -2700,13 +2700,13 @@ }, { "constant": false, - "id": 363, + "id": 47461, "mutability": "mutable", "name": "to", - "nameLocation": "845:2:1", + "nameLocation": "845:2:40", "nodeType": "VariableDeclaration", - "scope": 368, - "src": "837:10:1", + "scope": 47466, + "src": "837:10:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2714,10 +2714,10 @@ "typeString": "address" }, "typeName": { - "id": 362, + "id": 47460, "name": "address", "nodeType": "ElementaryTypeName", - "src": "837:7:1", + "src": "837:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2728,13 +2728,13 @@ }, { "constant": false, - "id": 365, + "id": 47463, "mutability": "mutable", "name": "deadline", - "nameLocation": "862:8:1", + "nameLocation": "862:8:40", "nodeType": "VariableDeclaration", - "scope": 368, - "src": "857:13:1", + "scope": 47466, + "src": "857:13:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2742,10 +2742,10 @@ "typeString": "uint256" }, "typeName": { - "id": 364, + "id": 47462, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "857:4:1", + "src": "857:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2754,43 +2754,43 @@ "visibility": "internal" } ], - "src": "744:132:1" + "src": "744:132:40" }, "returnParameters": { - "id": 367, + "id": 47465, "nodeType": "ParameterList", "parameters": [], - "src": "885:0:1" + "src": "885:0:40" }, - "scope": 395, + "scope": 47493, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 380, + "id": 47478, "nodeType": "FunctionDefinition", - "src": "891:186:1", + "src": "891:186:40", "nodes": [], "functionSelector": "b6f9de95", "implemented": false, "kind": "function", "modifiers": [], "name": "swapExactETHForTokensSupportingFeeOnTransferTokens", - "nameLocation": "900:50:1", + "nameLocation": "900:50:40", "parameters": { - "id": 378, + "id": 47476, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 370, + "id": 47468, "mutability": "mutable", "name": "amountOutMin", - "nameLocation": "965:12:1", + "nameLocation": "965:12:40", "nodeType": "VariableDeclaration", - "scope": 380, - "src": "960:17:1", + "scope": 47478, + "src": "960:17:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2798,10 +2798,10 @@ "typeString": "uint256" }, "typeName": { - "id": 369, + "id": 47467, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "960:4:1", + "src": "960:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2811,13 +2811,13 @@ }, { "constant": false, - "id": 373, + "id": 47471, "mutability": "mutable", "name": "path", - "nameLocation": "1006:4:1", + "nameLocation": "1006:4:40", "nodeType": "VariableDeclaration", - "scope": 380, - "src": "987:23:1", + "scope": 47478, + "src": "987:23:40", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -2826,19 +2826,19 @@ }, "typeName": { "baseType": { - "id": 371, + "id": 47469, "name": "address", "nodeType": "ElementaryTypeName", - "src": "987:7:1", + "src": "987:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 372, + "id": 47470, "nodeType": "ArrayTypeName", - "src": "987:9:1", + "src": "987:9:40", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -2848,13 +2848,13 @@ }, { "constant": false, - "id": 375, + "id": 47473, "mutability": "mutable", "name": "to", - "nameLocation": "1028:2:1", + "nameLocation": "1028:2:40", "nodeType": "VariableDeclaration", - "scope": 380, - "src": "1020:10:1", + "scope": 47478, + "src": "1020:10:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2862,10 +2862,10 @@ "typeString": "address" }, "typeName": { - "id": 374, + "id": 47472, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1020:7:1", + "src": "1020:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2876,13 +2876,13 @@ }, { "constant": false, - "id": 377, + "id": 47475, "mutability": "mutable", "name": "deadline", - "nameLocation": "1045:8:1", + "nameLocation": "1045:8:40", "nodeType": "VariableDeclaration", - "scope": 380, - "src": "1040:13:1", + "scope": 47478, + "src": "1040:13:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2890,10 +2890,10 @@ "typeString": "uint256" }, "typeName": { - "id": 376, + "id": 47474, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1040:4:1", + "src": "1040:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2902,43 +2902,43 @@ "visibility": "internal" } ], - "src": "950:109:1" + "src": "950:109:40" }, "returnParameters": { - "id": 379, + "id": 47477, "nodeType": "ParameterList", "parameters": [], - "src": "1076:0:1" + "src": "1076:0:40" }, - "scope": 395, + "scope": 47493, "stateMutability": "payable", "virtual": false, "visibility": "external" }, { - "id": 394, + "id": 47492, "nodeType": "FunctionDefinition", - "src": "1082:201:1", + "src": "1082:201:40", "nodes": [], "functionSelector": "791ac947", "implemented": false, "kind": "function", "modifiers": [], "name": "swapExactTokensForETHSupportingFeeOnTransferTokens", - "nameLocation": "1091:50:1", + "nameLocation": "1091:50:40", "parameters": { - "id": 392, + "id": 47490, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 382, + "id": 47480, "mutability": "mutable", "name": "amountIn", - "nameLocation": "1156:8:1", + "nameLocation": "1156:8:40", "nodeType": "VariableDeclaration", - "scope": 394, - "src": "1151:13:1", + "scope": 47492, + "src": "1151:13:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2946,10 +2946,10 @@ "typeString": "uint256" }, "typeName": { - "id": 381, + "id": 47479, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1151:4:1", + "src": "1151:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2959,13 +2959,13 @@ }, { "constant": false, - "id": 384, + "id": 47482, "mutability": "mutable", "name": "amountOutMin", - "nameLocation": "1179:12:1", + "nameLocation": "1179:12:40", "nodeType": "VariableDeclaration", - "scope": 394, - "src": "1174:17:1", + "scope": 47492, + "src": "1174:17:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2973,10 +2973,10 @@ "typeString": "uint256" }, "typeName": { - "id": 383, + "id": 47481, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1174:4:1", + "src": "1174:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2986,13 +2986,13 @@ }, { "constant": false, - "id": 387, + "id": 47485, "mutability": "mutable", "name": "path", - "nameLocation": "1220:4:1", + "nameLocation": "1220:4:40", "nodeType": "VariableDeclaration", - "scope": 394, - "src": "1201:23:1", + "scope": 47492, + "src": "1201:23:40", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3001,19 +3001,19 @@ }, "typeName": { "baseType": { - "id": 385, + "id": 47483, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1201:7:1", + "src": "1201:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 386, + "id": 47484, "nodeType": "ArrayTypeName", - "src": "1201:9:1", + "src": "1201:9:40", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -3023,13 +3023,13 @@ }, { "constant": false, - "id": 389, + "id": 47487, "mutability": "mutable", "name": "to", - "nameLocation": "1242:2:1", + "nameLocation": "1242:2:40", "nodeType": "VariableDeclaration", - "scope": 394, - "src": "1234:10:1", + "scope": 47492, + "src": "1234:10:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3037,10 +3037,10 @@ "typeString": "address" }, "typeName": { - "id": 388, + "id": 47486, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1234:7:1", + "src": "1234:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3051,13 +3051,13 @@ }, { "constant": false, - "id": 391, + "id": 47489, "mutability": "mutable", "name": "deadline", - "nameLocation": "1259:8:1", + "nameLocation": "1259:8:40", "nodeType": "VariableDeclaration", - "scope": 394, - "src": "1254:13:1", + "scope": 47492, + "src": "1254:13:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3065,10 +3065,10 @@ "typeString": "uint256" }, "typeName": { - "id": 390, + "id": 47488, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1254:4:1", + "src": "1254:4:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3077,15 +3077,15 @@ "visibility": "internal" } ], - "src": "1141:132:1" + "src": "1141:132:40" }, "returnParameters": { - "id": 393, + "id": 47491, "nodeType": "ParameterList", "parameters": [], - "src": "1282:0:1" + "src": "1282:0:40" }, - "scope": 395, + "scope": 47493, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -3095,18 +3095,18 @@ "baseContracts": [ { "baseName": { - "id": 311, + "id": 47409, "name": "IUniswapV2Router01", "nameLocations": [ - "94:18:1" + "94:18:40" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 307, - "src": "94:18:1" + "referencedDeclaration": 47405, + "src": "94:18:40" }, - "id": 312, + "id": 47410, "nodeType": "InheritanceSpecifier", - "src": "94:18:1" + "src": "94:18:40" } ], "canonicalName": "IUniswapV2Router02", @@ -3114,16 +3114,16 @@ "contractKind": "interface", "fullyImplemented": false, "linearizedBaseContracts": [ - 395, - 307 + 47493, + 47405 ], "name": "IUniswapV2Router02", - "nameLocation": "72:18:1", - "scope": 396, + "nameLocation": "72:18:40", + "scope": 47494, "usedErrors": [], "usedEvents": [] } ] }, - "id": 1 + "id": 40 } \ No newline at end of file diff --git a/tests/contract-playground/out/InheritanceBase.sol/InheritanceBase.json b/tests/contract-playground/out/InheritanceBase.sol/InheritanceBase.json index 6760f1da8..571994703 100644 --- a/tests/contract-playground/out/InheritanceBase.sol/InheritanceBase.json +++ b/tests/contract-playground/out/InheritanceBase.sol/InheritanceBase.json @@ -29,12 +29,12 @@ ], "bytecode": { "object": "0x608060405234801561001057600080fd5b5060c28061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063a6b206bf14602d575b600080fd5b603c60383660046074565b603e565b005b6040518181527f2ad1127294a42a5200f9832aacf01f051e55151abd09c0d2a055e56b214ebd4c9060200160405180910390a150565b600060208284031215608557600080fd5b503591905056fea264697066735822122092672b7673c83a905ee29a5708af0d9927dd84aec6e0b161992e7c449af4cfba64736f6c63430008140033", - "sourceMap": "95:183:44:-:0;;;;;;;;;;;;;;;;;;;", + "sourceMap": "95:183:51:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c8063a6b206bf14602d575b600080fd5b603c60383660046074565b603e565b005b6040518181527f2ad1127294a42a5200f9832aacf01f051e55151abd09c0d2a055e56b214ebd4c9060200160405180910390a150565b600060208284031215608557600080fd5b503591905056fea264697066735822122092672b7673c83a905ee29a5708af0d9927dd84aec6e0b161992e7c449af4cfba64736f6c63430008140033", - "sourceMap": "95:183:44:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;184:92;;;;;;:::i;:::-;;:::i;:::-;;;256:13;;345:25:48;;;256:13:44;;333:2:48;318:18;256:13:44;;;;;;;184:92;:::o;14:180:48:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:48;;14:180;-1:-1:-1;14:180:48:o", + "sourceMap": "95:183:51:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;184:92;;;;;;:::i;:::-;;:::i;:::-;;;256:13;;345:25:55;;;256:13:51;;333:2:55;318:18;256:13:51;;;;;;;184:92;:::o;14:180:55:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:55;;14:180;-1:-1:-1;14:180:55:o", "linkReferences": {} }, "methodIdentifiers": { @@ -129,22 +129,22 @@ }, "ast": { "absolutePath": "src/inheritance/InheritanceBase.sol", - "id": 47021, + "id": 48210, "exportedSymbols": { "IContractInheritance": [ - 47000 + 48189 ], "InheritanceBase": [ - 47020 + 48209 ] }, "nodeType": "SourceUnit", - "src": "32:247:44", + "src": "32:247:51", "nodes": [ { - "id": 47002, + "id": 48191, "nodeType": "PragmaDirective", - "src": "32:23:44", + "src": "32:23:51", "nodes": [], "literals": [ "solidity", @@ -154,46 +154,46 @@ ] }, { - "id": 47003, + "id": 48192, "nodeType": "ImportDirective", - "src": "57:36:44", + "src": "57:36:51", "nodes": [], "absolutePath": "src/inheritance/IContractInheritance.sol", "file": "./IContractInheritance.sol", "nameLocation": "-1:-1:-1", - "scope": 47021, - "sourceUnit": 47001, + "scope": 48210, + "sourceUnit": 48190, "symbolAliases": [], "unitAlias": "" }, { - "id": 47020, + "id": 48209, "nodeType": "ContractDefinition", - "src": "95:183:44", + "src": "95:183:51", "nodes": [ { - "id": 47009, + "id": 48198, "nodeType": "EventDefinition", - "src": "150:28:44", + "src": "150:28:51", "nodes": [], "anonymous": false, "eventSelector": "2ad1127294a42a5200f9832aacf01f051e55151abd09c0d2a055e56b214ebd4c", "name": "Do", - "nameLocation": "156:2:44", + "nameLocation": "156:2:51", "parameters": { - "id": 47008, + "id": 48197, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 47007, + "id": 48196, "indexed": false, "mutability": "mutable", "name": "something", - "nameLocation": "167:9:44", + "nameLocation": "167:9:51", "nodeType": "VariableDeclaration", - "scope": 47009, - "src": "159:17:44", + "scope": 48198, + "src": "159:17:51", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -201,10 +201,10 @@ "typeString": "uint256" }, "typeName": { - "id": 47006, + "id": 48195, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "159:7:44", + "src": "159:7:51", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -213,30 +213,30 @@ "visibility": "internal" } ], - "src": "158:19:44" + "src": "158:19:51" } }, { - "id": 47019, + "id": 48208, "nodeType": "FunctionDefinition", - "src": "184:92:44", + "src": "184:92:51", "nodes": [], "body": { - "id": 47018, + "id": 48207, "nodeType": "Block", - "src": "241:35:44", + "src": "241:35:51", "nodes": [], "statements": [ { "eventCall": { "arguments": [ { - "id": 47015, + "id": 48204, "name": "something", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47011, - "src": "259:9:44", + "referencedDeclaration": 48200, + "src": "259:9:51", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -250,18 +250,18 @@ "typeString": "uint256" } ], - "id": 47014, + "id": 48203, "name": "Do", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47009, - "src": "256:2:44", + "referencedDeclaration": 48198, + "src": "256:2:51", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 47016, + "id": 48205, "isConstant": false, "isLValue": false, "isPure": false, @@ -270,41 +270,41 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "256:13:44", + "src": "256:13:51", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 47017, + "id": 48206, "nodeType": "EmitStatement", - "src": "251:18:44" + "src": "251:18:51" } ] }, "baseFunctions": [ - 46999 + 48188 ], "functionSelector": "a6b206bf", "implemented": true, "kind": "function", "modifiers": [], "name": "doSomething", - "nameLocation": "193:11:44", + "nameLocation": "193:11:51", "parameters": { - "id": 47012, + "id": 48201, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 47011, + "id": 48200, "mutability": "mutable", "name": "something", - "nameLocation": "213:9:44", + "nameLocation": "213:9:51", "nodeType": "VariableDeclaration", - "scope": 47019, - "src": "205:17:44", + "scope": 48208, + "src": "205:17:51", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -312,10 +312,10 @@ "typeString": "uint256" }, "typeName": { - "id": 47010, + "id": 48199, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "205:7:44", + "src": "205:7:51", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -324,15 +324,15 @@ "visibility": "internal" } ], - "src": "204:19:44" + "src": "204:19:51" }, "returnParameters": { - "id": 47013, + "id": 48202, "nodeType": "ParameterList", "parameters": [], - "src": "241:0:44" + "src": "241:0:51" }, - "scope": 47020, + "scope": 48209, "stateMutability": "nonpayable", "virtual": true, "visibility": "external" @@ -342,18 +342,18 @@ "baseContracts": [ { "baseName": { - "id": 47004, + "id": 48193, "name": "IContractInheritance", "nameLocations": [ - "123:20:44" + "123:20:51" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 47000, - "src": "123:20:44" + "referencedDeclaration": 48189, + "src": "123:20:51" }, - "id": 47005, + "id": 48194, "nodeType": "InheritanceSpecifier", - "src": "123:20:44" + "src": "123:20:51" } ], "canonicalName": "InheritanceBase", @@ -361,19 +361,19 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 47020, - 47000 + 48209, + 48189 ], "name": "InheritanceBase", - "nameLocation": "104:15:44", - "scope": 47021, + "nameLocation": "104:15:51", + "scope": 48210, "usedErrors": [], "usedEvents": [ - 47009 + 48198 ] } ], "license": "MIT" }, - "id": 44 + "id": 51 } \ No newline at end of file diff --git a/tests/contract-playground/out/KeccakContract.sol/KeccakContract.json b/tests/contract-playground/out/KeccakContract.sol/KeccakContract.json index 34de843cb..9ab98e235 100644 --- a/tests/contract-playground/out/KeccakContract.sol/KeccakContract.json +++ b/tests/contract-playground/out/KeccakContract.sol/KeccakContract.json @@ -132,12 +132,12 @@ ], "bytecode": { "object": "0x608060405234801561001057600080fd5b506104b7806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806335cedf4f14610067578063444ef6521461008c578063554fe13a1461009f57806367a07b7a1461009f5780638d18790b146100b2578063d7234d3d146100b2575b600080fd5b61007a610075366004610217565b6100c5565b60405190815260200160405180910390f35b61007a61009a366004610254565b6100f5565b61007a6100ad366004610328565b610128565b61007a6100c036600461035d565b61013b565b6000816040516020016100d891906103ea565b604051602081830303815290604052805190602001209050919050565b6000828260405160200161010a9291906103fd565b60405160208183030381529060405280519060200120905092915050565b6000816040516020016100d89190610436565b6000828260405160200161010a929190610452565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561018f5761018f610150565b604052919050565b600082601f8301126101a857600080fd5b8135602067ffffffffffffffff8211156101c4576101c4610150565b8160051b6101d3828201610166565b92835284810182019282810190878511156101ed57600080fd5b83870192505b8483101561020c578235825291830191908301906101f3565b979650505050505050565b60006020828403121561022957600080fd5b813567ffffffffffffffff81111561024057600080fd5b61024c84828501610197565b949350505050565b6000806040838503121561026757600080fd5b823567ffffffffffffffff8082111561027f57600080fd5b61028b86838701610197565b935060208501359150808211156102a157600080fd5b506102ae85828601610197565b9150509250929050565b600082601f8301126102c957600080fd5b813567ffffffffffffffff8111156102e3576102e3610150565b6102f6601f8201601f1916602001610166565b81815284602083860101111561030b57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561033a57600080fd5b813567ffffffffffffffff81111561035157600080fd5b61024c848285016102b8565b6000806040838503121561037057600080fd5b823567ffffffffffffffff8082111561038857600080fd5b610394868387016102b8565b935060208501359150808211156103aa57600080fd5b506102ae858286016102b8565b60008151602080840160005b838110156103df578151875295820195908201906001016103c3565b509495945050505050565b60006103f682846103b7565b9392505050565b600061024c61040c83866103b7565b846103b7565b60005b8381101561042d578181015183820152602001610415565b50506000910152565b60008251610448818460208701610412565b9190910192915050565b60008351610464818460208801610412565b835190830190610478818360208801610412565b0194935050505056fea26469706673582212201301732890f9af7c6bc9570753c824b3ded199b7604ab1995d1ab389039afbb664736f6c63430008140033", - "sourceMap": "57:862:39:-:0;;;;;;;;;;;;;;;;;;;", + "sourceMap": "57:862:45:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806335cedf4f14610067578063444ef6521461008c578063554fe13a1461009f57806367a07b7a1461009f5780638d18790b146100b2578063d7234d3d146100b2575b600080fd5b61007a610075366004610217565b6100c5565b60405190815260200160405180910390f35b61007a61009a366004610254565b6100f5565b61007a6100ad366004610328565b610128565b61007a6100c036600461035d565b61013b565b6000816040516020016100d891906103ea565b604051602081830303815290604052805190602001209050919050565b6000828260405160200161010a9291906103fd565b60405160208183030381529060405280519060200120905092915050565b6000816040516020016100d89190610436565b6000828260405160200161010a929190610452565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561018f5761018f610150565b604052919050565b600082601f8301126101a857600080fd5b8135602067ffffffffffffffff8211156101c4576101c4610150565b8160051b6101d3828201610166565b92835284810182019282810190878511156101ed57600080fd5b83870192505b8483101561020c578235825291830191908301906101f3565b979650505050505050565b60006020828403121561022957600080fd5b813567ffffffffffffffff81111561024057600080fd5b61024c84828501610197565b949350505050565b6000806040838503121561026757600080fd5b823567ffffffffffffffff8082111561027f57600080fd5b61028b86838701610197565b935060208501359150808211156102a157600080fd5b506102ae85828601610197565b9150509250929050565b600082601f8301126102c957600080fd5b813567ffffffffffffffff8111156102e3576102e3610150565b6102f6601f8201601f1916602001610166565b81815284602083860101111561030b57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561033a57600080fd5b813567ffffffffffffffff81111561035157600080fd5b61024c848285016102b8565b6000806040838503121561037057600080fd5b823567ffffffffffffffff8082111561038857600080fd5b610394868387016102b8565b935060208501359150808211156103aa57600080fd5b506102ae858286016102b8565b60008151602080840160005b838110156103df578151875295820195908201906001016103c3565b509495945050505050565b60006103f682846103b7565b9392505050565b600061024c61040c83866103b7565b846103b7565b60005b8381101561042d578181015183820152602001610415565b50506000910152565b60008251610448818460208701610412565b9190910192915050565b60008351610464818460208801610412565b835190830190610478818360208801610412565b0194935050505056fea26469706673582212201301732890f9af7c6bc9570753c824b3ded199b7604ab1995d1ab389039afbb664736f6c63430008140033", - "sourceMap": "57:862:39:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;348:124;;;;;;:::i;:::-;;:::i;:::-;;;1642:25:48;;;1630:2;1615:18;348:124:39;;;;;;;770:147;;;;;;:::i;:::-;;:::i;87:128::-;;;;;;:::i;:::-;;:::i;478:139::-;;;;;;:::i;:::-;;:::i;348:124::-;409:7;462:1;445:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;435:30;;;;;;428:37;;348:124;;;:::o;770:147::-;851:7;904:1;907;887:22;;;;;;;;;:::i;:::-;;;;;;;;;;;;;877:33;;;;;;870:40;;770:147;;;;:::o;87:128::-;148:7;201:5;184:23;;;;;;;;:::i;478:139::-;551:7;604:1;607;587:22;;;;;;;;;:::i;14:127:48:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:275;217:2;211:9;282:2;263:13;;-1:-1:-1;;259:27:48;247:40;;317:18;302:34;;338:22;;;299:62;296:88;;;364:18;;:::i;:::-;400:2;393:22;146:275;;-1:-1:-1;146:275:48:o;426:712::-;480:5;533:3;526:4;518:6;514:17;510:27;500:55;;551:1;548;541:12;500:55;587:6;574:20;613:4;636:18;632:2;629:26;626:52;;;658:18;;:::i;:::-;704:2;701:1;697:10;727:28;751:2;747;743:11;727:28;:::i;:::-;789:15;;;859;;;855:24;;;820:12;;;;891:15;;;888:35;;;919:1;916;909:12;888:35;955:2;947:6;943:15;932:26;;967:142;983:6;978:3;975:15;967:142;;;1049:17;;1037:30;;1000:12;;;;1087;;;;967:142;;;1127:5;426:712;-1:-1:-1;;;;;;;426:712:48:o;1143:348::-;1227:6;1280:2;1268:9;1259:7;1255:23;1251:32;1248:52;;;1296:1;1293;1286:12;1248:52;1336:9;1323:23;1369:18;1361:6;1358:30;1355:50;;;1401:1;1398;1391:12;1355:50;1424:61;1477:7;1468:6;1457:9;1453:22;1424:61;:::i;:::-;1414:71;1143:348;-1:-1:-1;;;;1143:348:48:o;1678:595::-;1796:6;1804;1857:2;1845:9;1836:7;1832:23;1828:32;1825:52;;;1873:1;1870;1863:12;1825:52;1913:9;1900:23;1942:18;1983:2;1975:6;1972:14;1969:34;;;1999:1;1996;1989:12;1969:34;2022:61;2075:7;2066:6;2055:9;2051:22;2022:61;:::i;:::-;2012:71;;2136:2;2125:9;2121:18;2108:32;2092:48;;2165:2;2155:8;2152:16;2149:36;;;2181:1;2178;2171:12;2149:36;;2204:63;2259:7;2248:8;2237:9;2233:24;2204:63;:::i;:::-;2194:73;;;1678:595;;;;;:::o;2278:530::-;2320:5;2373:3;2366:4;2358:6;2354:17;2350:27;2340:55;;2391:1;2388;2381:12;2340:55;2427:6;2414:20;2453:18;2449:2;2446:26;2443:52;;;2475:18;;:::i;:::-;2519:55;2562:2;2543:13;;-1:-1:-1;;2539:27:48;2568:4;2535:38;2519:55;:::i;:::-;2599:2;2590:7;2583:19;2645:3;2638:4;2633:2;2625:6;2621:15;2617:26;2614:35;2611:55;;;2662:1;2659;2652:12;2611:55;2727:2;2720:4;2712:6;2708:17;2701:4;2692:7;2688:18;2675:55;2775:1;2750:16;;;2768:4;2746:27;2739:38;;;;2754:7;2278:530;-1:-1:-1;;;2278:530:48:o;2813:320::-;2881:6;2934:2;2922:9;2913:7;2909:23;2905:32;2902:52;;;2950:1;2947;2940:12;2902:52;2990:9;2977:23;3023:18;3015:6;3012:30;3009:50;;;3055:1;3052;3045:12;3009:50;3078:49;3119:7;3110:6;3099:9;3095:22;3078:49;:::i;3464:539::-;3550:6;3558;3611:2;3599:9;3590:7;3586:23;3582:32;3579:52;;;3627:1;3624;3617:12;3579:52;3667:9;3654:23;3696:18;3737:2;3729:6;3726:14;3723:34;;;3753:1;3750;3743:12;3723:34;3776:49;3817:7;3808:6;3797:9;3793:22;3776:49;:::i;:::-;3766:59;;3878:2;3867:9;3863:18;3850:32;3834:48;;3907:2;3897:8;3894:16;3891:36;;;3923:1;3920;3913:12;3891:36;;3946:51;3989:7;3978:8;3967:9;3963:24;3946:51;:::i;4554:398::-;4607:3;4645:5;4639:12;4689:4;4727:2;4720:5;4716:14;4748:1;4758:169;4772:6;4769:1;4766:13;4758:169;;;4833:13;;4821:26;;4867:12;;;;4902:15;;;;4794:1;4787:9;4758:169;;;-1:-1:-1;4943:3:48;;4554:398;-1:-1:-1;;;;;4554:398:48:o;4957:233::-;5118:3;5143:41;5180:3;5172:6;5143:41;:::i;:::-;5136:48;4957:233;-1:-1:-1;;;4957:233:48:o;5195:349::-;5434:3;5459:79;5496:41;5533:3;5525:6;5496:41;:::i;:::-;5488:6;5459:79;:::i;5549:250::-;5634:1;5644:113;5658:6;5655:1;5652:13;5644:113;;;5734:11;;;5728:18;5715:11;;;5708:39;5680:2;5673:10;5644:113;;;-1:-1:-1;;5791:1:48;5773:16;;5766:27;5549:250::o;5804:287::-;5933:3;5971:6;5965:13;5987:66;6046:6;6041:3;6034:4;6026:6;6022:17;5987:66;:::i;:::-;6069:16;;;;;5804:287;-1:-1:-1;;5804:287:48:o;6390:492::-;6565:3;6603:6;6597:13;6619:66;6678:6;6673:3;6666:4;6658:6;6654:17;6619:66;:::i;:::-;6748:13;;6707:16;;;;6770:70;6748:13;6707:16;6817:4;6805:17;;6770:70;:::i;:::-;6856:20;;6390:492;-1:-1:-1;;;;6390:492:48:o", + "sourceMap": "57:862:45:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;348:124;;;;;;:::i;:::-;;:::i;:::-;;;1642:25:55;;;1630:2;1615:18;348:124:45;;;;;;;770:147;;;;;;:::i;:::-;;:::i;87:128::-;;;;;;:::i;:::-;;:::i;478:139::-;;;;;;:::i;:::-;;:::i;348:124::-;409:7;462:1;445:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;435:30;;;;;;428:37;;348:124;;;:::o;770:147::-;851:7;904:1;907;887:22;;;;;;;;;:::i;:::-;;;;;;;;;;;;;877:33;;;;;;870:40;;770:147;;;;:::o;87:128::-;148:7;201:5;184:23;;;;;;;;:::i;478:139::-;551:7;604:1;607;587:22;;;;;;;;;:::i;14:127:55:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:275;217:2;211:9;282:2;263:13;;-1:-1:-1;;259:27:55;247:40;;317:18;302:34;;338:22;;;299:62;296:88;;;364:18;;:::i;:::-;400:2;393:22;146:275;;-1:-1:-1;146:275:55:o;426:712::-;480:5;533:3;526:4;518:6;514:17;510:27;500:55;;551:1;548;541:12;500:55;587:6;574:20;613:4;636:18;632:2;629:26;626:52;;;658:18;;:::i;:::-;704:2;701:1;697:10;727:28;751:2;747;743:11;727:28;:::i;:::-;789:15;;;859;;;855:24;;;820:12;;;;891:15;;;888:35;;;919:1;916;909:12;888:35;955:2;947:6;943:15;932:26;;967:142;983:6;978:3;975:15;967:142;;;1049:17;;1037:30;;1000:12;;;;1087;;;;967:142;;;1127:5;426:712;-1:-1:-1;;;;;;;426:712:55:o;1143:348::-;1227:6;1280:2;1268:9;1259:7;1255:23;1251:32;1248:52;;;1296:1;1293;1286:12;1248:52;1336:9;1323:23;1369:18;1361:6;1358:30;1355:50;;;1401:1;1398;1391:12;1355:50;1424:61;1477:7;1468:6;1457:9;1453:22;1424:61;:::i;:::-;1414:71;1143:348;-1:-1:-1;;;;1143:348:55:o;1678:595::-;1796:6;1804;1857:2;1845:9;1836:7;1832:23;1828:32;1825:52;;;1873:1;1870;1863:12;1825:52;1913:9;1900:23;1942:18;1983:2;1975:6;1972:14;1969:34;;;1999:1;1996;1989:12;1969:34;2022:61;2075:7;2066:6;2055:9;2051:22;2022:61;:::i;:::-;2012:71;;2136:2;2125:9;2121:18;2108:32;2092:48;;2165:2;2155:8;2152:16;2149:36;;;2181:1;2178;2171:12;2149:36;;2204:63;2259:7;2248:8;2237:9;2233:24;2204:63;:::i;:::-;2194:73;;;1678:595;;;;;:::o;2278:530::-;2320:5;2373:3;2366:4;2358:6;2354:17;2350:27;2340:55;;2391:1;2388;2381:12;2340:55;2427:6;2414:20;2453:18;2449:2;2446:26;2443:52;;;2475:18;;:::i;:::-;2519:55;2562:2;2543:13;;-1:-1:-1;;2539:27:55;2568:4;2535:38;2519:55;:::i;:::-;2599:2;2590:7;2583:19;2645:3;2638:4;2633:2;2625:6;2621:15;2617:26;2614:35;2611:55;;;2662:1;2659;2652:12;2611:55;2727:2;2720:4;2712:6;2708:17;2701:4;2692:7;2688:18;2675:55;2775:1;2750:16;;;2768:4;2746:27;2739:38;;;;2754:7;2278:530;-1:-1:-1;;;2278:530:55:o;2813:320::-;2881:6;2934:2;2922:9;2913:7;2909:23;2905:32;2902:52;;;2950:1;2947;2940:12;2902:52;2990:9;2977:23;3023:18;3015:6;3012:30;3009:50;;;3055:1;3052;3045:12;3009:50;3078:49;3119:7;3110:6;3099:9;3095:22;3078:49;:::i;3464:539::-;3550:6;3558;3611:2;3599:9;3590:7;3586:23;3582:32;3579:52;;;3627:1;3624;3617:12;3579:52;3667:9;3654:23;3696:18;3737:2;3729:6;3726:14;3723:34;;;3753:1;3750;3743:12;3723:34;3776:49;3817:7;3808:6;3797:9;3793:22;3776:49;:::i;:::-;3766:59;;3878:2;3867:9;3863:18;3850:32;3834:48;;3907:2;3897:8;3894:16;3891:36;;;3923:1;3920;3913:12;3891:36;;3946:51;3989:7;3978:8;3967:9;3963:24;3946:51;:::i;4554:398::-;4607:3;4645:5;4639:12;4689:4;4727:2;4720:5;4716:14;4748:1;4758:169;4772:6;4769:1;4766:13;4758:169;;;4833:13;;4821:26;;4867:12;;;;4902:15;;;;4794:1;4787:9;4758:169;;;-1:-1:-1;4943:3:55;;4554:398;-1:-1:-1;;;;;4554:398:55:o;4957:233::-;5118:3;5143:41;5180:3;5172:6;5143:41;:::i;:::-;5136:48;4957:233;-1:-1:-1;;;4957:233:55:o;5195:349::-;5434:3;5459:79;5496:41;5533:3;5525:6;5496:41;:::i;:::-;5488:6;5459:79;:::i;5549:250::-;5634:1;5644:113;5658:6;5655:1;5652:13;5644:113;;;5734:11;;;5728:18;5715:11;;;5708:39;5680:2;5673:10;5644:113;;;-1:-1:-1;;5791:1:55;5773:16;;5766:27;5549:250::o;5804:287::-;5933:3;5971:6;5965:13;5987:66;6046:6;6041:3;6034:4;6026:6;6022:17;5987:66;:::i;:::-;6069:16;;;;;5804:287;-1:-1:-1;;5804:287:55:o;6390:492::-;6565:3;6603:6;6597:13;6619:66;6678:6;6673:3;6666:4;6658:6;6654:17;6619:66;:::i;:::-;6748:13;;6707:16;;;;6770:70;6748:13;6707:16;6817:4;6805:17;;6770:70;:::i;:::-;6856:20;;6390:492;-1:-1:-1;;;;6390:492:55:o", "linkReferences": {} }, "methodIdentifiers": { @@ -333,19 +333,19 @@ }, "ast": { "absolutePath": "src/KeccakContract.sol", - "id": 46721, + "id": 47869, "exportedSymbols": { "KeccakContract": [ - 46720 + 47868 ] }, "nodeType": "SourceUnit", - "src": "32:888:39", + "src": "32:888:45", "nodes": [ { - "id": 46617, + "id": 47765, "nodeType": "PragmaDirective", - "src": "32:23:39", + "src": "32:23:45", "nodes": [], "literals": [ "solidity", @@ -354,19 +354,19 @@ ] }, { - "id": 46720, + "id": 47868, "nodeType": "ContractDefinition", - "src": "57:862:39", + "src": "57:862:45", "nodes": [ { - "id": 46632, + "id": 47780, "nodeType": "FunctionDefinition", - "src": "87:128:39", + "src": "87:128:45", "nodes": [], "body": { - "id": 46631, + "id": 47779, "nodeType": "Block", - "src": "157:58:39", + "src": "157:58:45", "nodes": [], "statements": [ { @@ -375,12 +375,12 @@ { "arguments": [ { - "id": 46627, + "id": 47775, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46619, - "src": "201:5:39", + "referencedDeclaration": 47767, + "src": "201:5:45", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -395,32 +395,32 @@ } ], "expression": { - "id": 46625, + "id": 47773, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "184:3:39", + "src": "184:3:45", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 46626, + "id": 47774, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "188:12:39", + "memberLocation": "188:12:45", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "184:16:39", + "src": "184:16:45", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 46628, + "id": 47776, "isConstant": false, "isLValue": false, "isPure": false, @@ -429,7 +429,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "184:23:39", + "src": "184:23:45", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -444,18 +444,18 @@ "typeString": "bytes memory" } ], - "id": 46624, + "id": 47772, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "174:9:39", + "src": "174:9:45", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 46629, + "id": 47777, "isConstant": false, "isLValue": false, "isPure": false, @@ -464,17 +464,17 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "174:34:39", + "src": "174:34:45", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 46623, - "id": 46630, + "functionReturnParameters": 47771, + "id": 47778, "nodeType": "Return", - "src": "167:41:39" + "src": "167:41:45" } ] }, @@ -483,20 +483,20 @@ "kind": "function", "modifiers": [], "name": "success0", - "nameLocation": "96:8:39", + "nameLocation": "96:8:45", "parameters": { - "id": 46620, + "id": 47768, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46619, + "id": 47767, "mutability": "mutable", "name": "input", - "nameLocation": "118:5:39", + "nameLocation": "118:5:45", "nodeType": "VariableDeclaration", - "scope": 46632, - "src": "105:18:39", + "scope": 47780, + "src": "105:18:45", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -504,10 +504,10 @@ "typeString": "bytes" }, "typeName": { - "id": 46618, + "id": 47766, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "105:5:39", + "src": "105:5:45", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -516,21 +516,21 @@ "visibility": "internal" } ], - "src": "104:20:39" + "src": "104:20:45" }, "returnParameters": { - "id": 46623, + "id": 47771, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46622, + "id": 47770, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 46632, - "src": "148:7:39", + "scope": 47780, + "src": "148:7:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -538,10 +538,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 46621, + "id": 47769, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "148:7:39", + "src": "148:7:45", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -550,22 +550,22 @@ "visibility": "internal" } ], - "src": "147:9:39" + "src": "147:9:45" }, - "scope": 46720, + "scope": 47868, "stateMutability": "pure", "virtual": false, "visibility": "external" }, { - "id": 46647, + "id": 47795, "nodeType": "FunctionDefinition", - "src": "221:121:39", + "src": "221:121:45", "nodes": [], "body": { - "id": 46646, + "id": 47794, "nodeType": "Block", - "src": "288:54:39", + "src": "288:54:45", "nodes": [], "statements": [ { @@ -574,12 +574,12 @@ { "arguments": [ { - "id": 46642, + "id": 47790, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46634, - "src": "332:1:39", + "referencedDeclaration": 47782, + "src": "332:1:45", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -594,32 +594,32 @@ } ], "expression": { - "id": 46640, + "id": 47788, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "315:3:39", + "src": "315:3:45", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 46641, + "id": 47789, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "319:12:39", + "memberLocation": "319:12:45", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "315:16:39", + "src": "315:16:45", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 46643, + "id": 47791, "isConstant": false, "isLValue": false, "isPure": false, @@ -628,7 +628,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "315:19:39", + "src": "315:19:45", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -643,18 +643,18 @@ "typeString": "bytes memory" } ], - "id": 46639, + "id": 47787, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "305:9:39", + "src": "305:9:45", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 46644, + "id": 47792, "isConstant": false, "isLValue": false, "isPure": false, @@ -663,17 +663,17 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "305:30:39", + "src": "305:30:45", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 46638, - "id": 46645, + "functionReturnParameters": 47786, + "id": 47793, "nodeType": "Return", - "src": "298:37:39" + "src": "298:37:45" } ] }, @@ -682,20 +682,20 @@ "kind": "function", "modifiers": [], "name": "success1", - "nameLocation": "230:8:39", + "nameLocation": "230:8:45", "parameters": { - "id": 46635, + "id": 47783, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46634, + "id": 47782, "mutability": "mutable", "name": "a", - "nameLocation": "253:1:39", + "nameLocation": "253:1:45", "nodeType": "VariableDeclaration", - "scope": 46647, - "src": "239:15:39", + "scope": 47795, + "src": "239:15:45", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -703,10 +703,10 @@ "typeString": "string" }, "typeName": { - "id": 46633, + "id": 47781, "name": "string", "nodeType": "ElementaryTypeName", - "src": "239:6:39", + "src": "239:6:45", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -715,21 +715,21 @@ "visibility": "internal" } ], - "src": "238:17:39" + "src": "238:17:45" }, "returnParameters": { - "id": 46638, + "id": 47786, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46637, + "id": 47785, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 46647, - "src": "279:7:39", + "scope": 47795, + "src": "279:7:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -737,10 +737,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 46636, + "id": 47784, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "279:7:39", + "src": "279:7:45", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -749,22 +749,22 @@ "visibility": "internal" } ], - "src": "278:9:39" + "src": "278:9:45" }, - "scope": 46720, + "scope": 47868, "stateMutability": "pure", "virtual": false, "visibility": "external" }, { - "id": 46663, + "id": 47811, "nodeType": "FunctionDefinition", - "src": "348:124:39", + "src": "348:124:45", "nodes": [], "body": { - "id": 46662, + "id": 47810, "nodeType": "Block", - "src": "418:54:39", + "src": "418:54:45", "nodes": [], "statements": [ { @@ -773,12 +773,12 @@ { "arguments": [ { - "id": 46658, + "id": 47806, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46650, - "src": "462:1:39", + "referencedDeclaration": 47798, + "src": "462:1:45", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -793,32 +793,32 @@ } ], "expression": { - "id": 46656, + "id": 47804, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "445:3:39", + "src": "445:3:45", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 46657, + "id": 47805, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "449:12:39", + "memberLocation": "449:12:45", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "445:16:39", + "src": "445:16:45", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 46659, + "id": 47807, "isConstant": false, "isLValue": false, "isPure": false, @@ -827,7 +827,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "445:19:39", + "src": "445:19:45", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -842,18 +842,18 @@ "typeString": "bytes memory" } ], - "id": 46655, + "id": 47803, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "435:9:39", + "src": "435:9:45", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 46660, + "id": 47808, "isConstant": false, "isLValue": false, "isPure": false, @@ -862,17 +862,17 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "435:30:39", + "src": "435:30:45", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 46654, - "id": 46661, + "functionReturnParameters": 47802, + "id": 47809, "nodeType": "Return", - "src": "428:37:39" + "src": "428:37:45" } ] }, @@ -881,20 +881,20 @@ "kind": "function", "modifiers": [], "name": "success2", - "nameLocation": "357:8:39", + "nameLocation": "357:8:45", "parameters": { - "id": 46651, + "id": 47799, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46650, + "id": 47798, "mutability": "mutable", "name": "a", - "nameLocation": "383:1:39", + "nameLocation": "383:1:45", "nodeType": "VariableDeclaration", - "scope": 46663, - "src": "366:18:39", + "scope": 47811, + "src": "366:18:45", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -903,18 +903,18 @@ }, "typeName": { "baseType": { - "id": 46648, + "id": 47796, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "366:7:39", + "src": "366:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 46649, + "id": 47797, "nodeType": "ArrayTypeName", - "src": "366:9:39", + "src": "366:9:45", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -923,21 +923,21 @@ "visibility": "internal" } ], - "src": "365:20:39" + "src": "365:20:45" }, "returnParameters": { - "id": 46654, + "id": 47802, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46653, + "id": 47801, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 46663, - "src": "409:7:39", + "scope": 47811, + "src": "409:7:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -945,10 +945,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 46652, + "id": 47800, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "409:7:39", + "src": "409:7:45", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -957,22 +957,22 @@ "visibility": "internal" } ], - "src": "408:9:39" + "src": "408:9:45" }, - "scope": 46720, + "scope": 47868, "stateMutability": "pure", "virtual": false, "visibility": "external" }, { - "id": 46681, + "id": 47829, "nodeType": "FunctionDefinition", - "src": "478:139:39", + "src": "478:139:45", "nodes": [], "body": { - "id": 46680, + "id": 47828, "nodeType": "Block", - "src": "560:57:39", + "src": "560:57:45", "nodes": [], "statements": [ { @@ -981,24 +981,24 @@ { "arguments": [ { - "id": 46675, + "id": 47823, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46665, - "src": "604:1:39", + "referencedDeclaration": 47813, + "src": "604:1:45", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 46676, + "id": 47824, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46667, - "src": "607:1:39", + "referencedDeclaration": 47815, + "src": "607:1:45", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -1017,32 +1017,32 @@ } ], "expression": { - "id": 46673, + "id": 47821, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "587:3:39", + "src": "587:3:45", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 46674, + "id": 47822, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "591:12:39", + "memberLocation": "591:12:45", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "587:16:39", + "src": "587:16:45", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 46677, + "id": 47825, "isConstant": false, "isLValue": false, "isPure": false, @@ -1051,7 +1051,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "587:22:39", + "src": "587:22:45", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -1066,18 +1066,18 @@ "typeString": "bytes memory" } ], - "id": 46672, + "id": 47820, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "577:9:39", + "src": "577:9:45", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 46678, + "id": 47826, "isConstant": false, "isLValue": false, "isPure": false, @@ -1086,17 +1086,17 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "577:33:39", + "src": "577:33:45", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 46671, - "id": 46679, + "functionReturnParameters": 47819, + "id": 47827, "nodeType": "Return", - "src": "570:40:39" + "src": "570:40:45" } ] }, @@ -1105,20 +1105,20 @@ "kind": "function", "modifiers": [], "name": "failure0", - "nameLocation": "487:8:39", + "nameLocation": "487:8:45", "parameters": { - "id": 46668, + "id": 47816, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46665, + "id": 47813, "mutability": "mutable", "name": "a", - "nameLocation": "509:1:39", + "nameLocation": "509:1:45", "nodeType": "VariableDeclaration", - "scope": 46681, - "src": "496:14:39", + "scope": 47829, + "src": "496:14:45", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1126,10 +1126,10 @@ "typeString": "bytes" }, "typeName": { - "id": 46664, + "id": 47812, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "496:5:39", + "src": "496:5:45", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1139,13 +1139,13 @@ }, { "constant": false, - "id": 46667, + "id": 47815, "mutability": "mutable", "name": "b", - "nameLocation": "525:1:39", + "nameLocation": "525:1:45", "nodeType": "VariableDeclaration", - "scope": 46681, - "src": "512:14:39", + "scope": 47829, + "src": "512:14:45", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1153,10 +1153,10 @@ "typeString": "bytes" }, "typeName": { - "id": 46666, + "id": 47814, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "512:5:39", + "src": "512:5:45", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1165,21 +1165,21 @@ "visibility": "internal" } ], - "src": "495:32:39" + "src": "495:32:45" }, "returnParameters": { - "id": 46671, + "id": 47819, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46670, + "id": 47818, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 46681, - "src": "551:7:39", + "scope": 47829, + "src": "551:7:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1187,10 +1187,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 46669, + "id": 47817, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "551:7:39", + "src": "551:7:45", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1199,22 +1199,22 @@ "visibility": "internal" } ], - "src": "550:9:39" + "src": "550:9:45" }, - "scope": 46720, + "scope": 47868, "stateMutability": "pure", "virtual": false, "visibility": "external" }, { - "id": 46699, + "id": 47847, "nodeType": "FunctionDefinition", - "src": "623:141:39", + "src": "623:141:45", "nodes": [], "body": { - "id": 46698, + "id": 47846, "nodeType": "Block", - "src": "707:57:39", + "src": "707:57:45", "nodes": [], "statements": [ { @@ -1223,24 +1223,24 @@ { "arguments": [ { - "id": 46693, + "id": 47841, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46683, - "src": "751:1:39", + "referencedDeclaration": 47831, + "src": "751:1:45", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 46694, + "id": 47842, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46685, - "src": "754:1:39", + "referencedDeclaration": 47833, + "src": "754:1:45", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1259,32 +1259,32 @@ } ], "expression": { - "id": 46691, + "id": 47839, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "734:3:39", + "src": "734:3:45", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 46692, + "id": 47840, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "738:12:39", + "memberLocation": "738:12:45", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "734:16:39", + "src": "734:16:45", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 46695, + "id": 47843, "isConstant": false, "isLValue": false, "isPure": false, @@ -1293,7 +1293,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "734:22:39", + "src": "734:22:45", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -1308,18 +1308,18 @@ "typeString": "bytes memory" } ], - "id": 46690, + "id": 47838, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "724:9:39", + "src": "724:9:45", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 46696, + "id": 47844, "isConstant": false, "isLValue": false, "isPure": false, @@ -1328,17 +1328,17 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "724:33:39", + "src": "724:33:45", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 46689, - "id": 46697, + "functionReturnParameters": 47837, + "id": 47845, "nodeType": "Return", - "src": "717:40:39" + "src": "717:40:45" } ] }, @@ -1347,20 +1347,20 @@ "kind": "function", "modifiers": [], "name": "failure1", - "nameLocation": "632:8:39", + "nameLocation": "632:8:45", "parameters": { - "id": 46686, + "id": 47834, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46683, + "id": 47831, "mutability": "mutable", "name": "a", - "nameLocation": "655:1:39", + "nameLocation": "655:1:45", "nodeType": "VariableDeclaration", - "scope": 46699, - "src": "641:15:39", + "scope": 47847, + "src": "641:15:45", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1368,10 +1368,10 @@ "typeString": "string" }, "typeName": { - "id": 46682, + "id": 47830, "name": "string", "nodeType": "ElementaryTypeName", - "src": "641:6:39", + "src": "641:6:45", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1381,13 +1381,13 @@ }, { "constant": false, - "id": 46685, + "id": 47833, "mutability": "mutable", "name": "b", - "nameLocation": "672:1:39", + "nameLocation": "672:1:45", "nodeType": "VariableDeclaration", - "scope": 46699, - "src": "658:15:39", + "scope": 47847, + "src": "658:15:45", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1395,10 +1395,10 @@ "typeString": "string" }, "typeName": { - "id": 46684, + "id": 47832, "name": "string", "nodeType": "ElementaryTypeName", - "src": "658:6:39", + "src": "658:6:45", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1407,21 +1407,21 @@ "visibility": "internal" } ], - "src": "640:34:39" + "src": "640:34:45" }, "returnParameters": { - "id": 46689, + "id": 47837, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46688, + "id": 47836, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 46699, - "src": "698:7:39", + "scope": 47847, + "src": "698:7:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1429,10 +1429,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 46687, + "id": 47835, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "698:7:39", + "src": "698:7:45", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1441,22 +1441,22 @@ "visibility": "internal" } ], - "src": "697:9:39" + "src": "697:9:45" }, - "scope": 46720, + "scope": 47868, "stateMutability": "pure", "virtual": false, "visibility": "external" }, { - "id": 46719, + "id": 47867, "nodeType": "FunctionDefinition", - "src": "770:147:39", + "src": "770:147:45", "nodes": [], "body": { - "id": 46718, + "id": 47866, "nodeType": "Block", - "src": "860:57:39", + "src": "860:57:45", "nodes": [], "statements": [ { @@ -1465,24 +1465,24 @@ { "arguments": [ { - "id": 46713, + "id": 47861, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46702, - "src": "904:1:39", + "referencedDeclaration": 47850, + "src": "904:1:45", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, { - "id": 46714, + "id": 47862, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46705, - "src": "907:1:39", + "referencedDeclaration": 47853, + "src": "907:1:45", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -1501,32 +1501,32 @@ } ], "expression": { - "id": 46711, + "id": 47859, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "887:3:39", + "src": "887:3:45", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 46712, + "id": 47860, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "891:12:39", + "memberLocation": "891:12:45", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "887:16:39", + "src": "887:16:45", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 46715, + "id": 47863, "isConstant": false, "isLValue": false, "isPure": false, @@ -1535,7 +1535,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "887:22:39", + "src": "887:22:45", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -1550,18 +1550,18 @@ "typeString": "bytes memory" } ], - "id": 46710, + "id": 47858, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "877:9:39", + "src": "877:9:45", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 46716, + "id": 47864, "isConstant": false, "isLValue": false, "isPure": false, @@ -1570,17 +1570,17 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "877:33:39", + "src": "877:33:45", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 46709, - "id": 46717, + "functionReturnParameters": 47857, + "id": 47865, "nodeType": "Return", - "src": "870:40:39" + "src": "870:40:45" } ] }, @@ -1589,20 +1589,20 @@ "kind": "function", "modifiers": [], "name": "failure2", - "nameLocation": "779:8:39", + "nameLocation": "779:8:45", "parameters": { - "id": 46706, + "id": 47854, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46702, + "id": 47850, "mutability": "mutable", "name": "a", - "nameLocation": "805:1:39", + "nameLocation": "805:1:45", "nodeType": "VariableDeclaration", - "scope": 46719, - "src": "788:18:39", + "scope": 47867, + "src": "788:18:45", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1611,18 +1611,18 @@ }, "typeName": { "baseType": { - "id": 46700, + "id": 47848, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "788:7:39", + "src": "788:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 46701, + "id": 47849, "nodeType": "ArrayTypeName", - "src": "788:9:39", + "src": "788:9:45", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -1632,13 +1632,13 @@ }, { "constant": false, - "id": 46705, + "id": 47853, "mutability": "mutable", "name": "b", - "nameLocation": "825:1:39", + "nameLocation": "825:1:45", "nodeType": "VariableDeclaration", - "scope": 46719, - "src": "808:18:39", + "scope": 47867, + "src": "808:18:45", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1647,18 +1647,18 @@ }, "typeName": { "baseType": { - "id": 46703, + "id": 47851, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "808:7:39", + "src": "808:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 46704, + "id": 47852, "nodeType": "ArrayTypeName", - "src": "808:9:39", + "src": "808:9:45", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -1667,21 +1667,21 @@ "visibility": "internal" } ], - "src": "787:40:39" + "src": "787:40:45" }, "returnParameters": { - "id": 46709, + "id": 47857, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46708, + "id": 47856, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 46719, - "src": "851:7:39", + "scope": 47867, + "src": "851:7:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1689,10 +1689,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 46707, + "id": 47855, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "851:7:39", + "src": "851:7:45", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1701,9 +1701,9 @@ "visibility": "internal" } ], - "src": "850:9:39" + "src": "850:9:45" }, - "scope": 46720, + "scope": 47868, "stateMutability": "pure", "virtual": false, "visibility": "external" @@ -1716,16 +1716,16 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 46720 + 47868 ], "name": "KeccakContract", - "nameLocation": "66:14:39", - "scope": 46721, + "nameLocation": "66:14:45", + "scope": 47869, "usedErrors": [], "usedEvents": [] } ], "license": "MIT" }, - "id": 39 + "id": 45 } \ No newline at end of file diff --git a/tests/contract-playground/out/Math.sol/Math.json b/tests/contract-playground/out/Math.sol/Math.json index 04d749391..be4a095c3 100644 --- a/tests/contract-playground/out/Math.sol/Math.json +++ b/tests/contract-playground/out/Math.sol/Math.json @@ -1,17 +1,17 @@ { "abi": [], "bytecode": { - "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122065450aa942b6013e5e4edefc46ee5aacd42d7d3cd0fbf332d4a9c0edd0e6202764736f6c63430008140033", - "sourceMap": "202:12582:31:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;202:12582:31;;;;;;;;;;;;;;;;;", + "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122033807a7b34b8bab356cead0146a8d5c49171c19452cf3e49bec8169485a51b8f64736f6c63430008140033", + "sourceMap": "202:12582:35:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;202:12582:35;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122065450aa942b6013e5e4edefc46ee5aacd42d7d3cd0fbf332d4a9c0edd0e6202764736f6c63430008140033", - "sourceMap": "202:12582:31:-:0;;;;;;;;", + "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122033807a7b34b8bab356cead0146a8d5c49171c19452cf3e49bec8169485a51b8f64736f6c63430008140033", + "sourceMap": "202:12582:35:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, @@ -65,19 +66,19 @@ }, "ast": { "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", - "id": 45432, + "id": 46520, "exportedSymbols": { "Math": [ - 45431 + 46519 ] }, "nodeType": "SourceUnit", - "src": "103:12682:31", + "src": "103:12682:35", "nodes": [ { - "id": 44567, + "id": 45655, "nodeType": "PragmaDirective", - "src": "103:23:31", + "src": "103:23:35", "nodes": [], "literals": [ "solidity", @@ -87,51 +88,51 @@ ] }, { - "id": 45431, + "id": 46519, "nodeType": "ContractDefinition", - "src": "202:12582:31", + "src": "202:12582:35", "nodes": [ { - "id": 44572, + "id": 45660, "nodeType": "EnumDefinition", - "src": "221:122:31", + "src": "221:122:35", "nodes": [], "canonicalName": "Math.Rounding", "members": [ { - "id": 44569, + "id": 45657, "name": "Down", - "nameLocation": "245:4:31", + "nameLocation": "245:4:35", "nodeType": "EnumValue", - "src": "245:4:31" + "src": "245:4:35" }, { - "id": 44570, + "id": 45658, "name": "Up", - "nameLocation": "287:2:31", + "nameLocation": "287:2:35", "nodeType": "EnumValue", - "src": "287:2:31" + "src": "287:2:35" }, { - "id": 44571, + "id": 45659, "name": "Zero", - "nameLocation": "318:4:31", + "nameLocation": "318:4:35", "nodeType": "EnumValue", - "src": "318:4:31" + "src": "318:4:35" } ], "name": "Rounding", - "nameLocation": "226:8:31" + "nameLocation": "226:8:35" }, { - "id": 44590, + "id": 45678, "nodeType": "FunctionDefinition", - "src": "413:104:31", + "src": "413:104:35", "nodes": [], "body": { - "id": 44589, + "id": 45677, "nodeType": "Block", - "src": "480:37:31", + "src": "480:37:35", "nodes": [], "statements": [ { @@ -141,18 +142,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44584, + "id": 45672, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44582, + "id": 45670, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44575, - "src": "497:1:31", + "referencedDeclaration": 45663, + "src": "497:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -161,49 +162,49 @@ "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { - "id": 44583, + "id": 45671, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44577, - "src": "501:1:31", + "referencedDeclaration": 45665, + "src": "501:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "497:5:31", + "src": "497:5:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { - "id": 44586, + "id": 45674, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44577, - "src": "509:1:31", + "referencedDeclaration": 45665, + "src": "509:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44587, + "id": 45675, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "497:13:31", + "src": "497:13:35", "trueExpression": { - "id": 44585, + "id": 45673, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44575, - "src": "505:1:31", + "referencedDeclaration": 45663, + "src": "505:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -214,37 +215,37 @@ "typeString": "uint256" } }, - "functionReturnParameters": 44581, - "id": 44588, + "functionReturnParameters": 45669, + "id": 45676, "nodeType": "Return", - "src": "490:20:31" + "src": "490:20:35" } ] }, "documentation": { - "id": 44573, + "id": 45661, "nodeType": "StructuredDocumentation", - "src": "349:59:31", + "src": "349:59:35", "text": " @dev Returns the largest of two numbers." }, "implemented": true, "kind": "function", "modifiers": [], "name": "max", - "nameLocation": "422:3:31", + "nameLocation": "422:3:35", "parameters": { - "id": 44578, + "id": 45666, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44575, + "id": 45663, "mutability": "mutable", "name": "a", - "nameLocation": "434:1:31", + "nameLocation": "434:1:35", "nodeType": "VariableDeclaration", - "scope": 44590, - "src": "426:9:31", + "scope": 45678, + "src": "426:9:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -252,10 +253,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44574, + "id": 45662, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "426:7:31", + "src": "426:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -265,13 +266,13 @@ }, { "constant": false, - "id": 44577, + "id": 45665, "mutability": "mutable", "name": "b", - "nameLocation": "445:1:31", + "nameLocation": "445:1:35", "nodeType": "VariableDeclaration", - "scope": 44590, - "src": "437:9:31", + "scope": 45678, + "src": "437:9:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -279,10 +280,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44576, + "id": 45664, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "437:7:31", + "src": "437:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -291,21 +292,21 @@ "visibility": "internal" } ], - "src": "425:22:31" + "src": "425:22:35" }, "returnParameters": { - "id": 44581, + "id": 45669, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44580, + "id": 45668, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44590, - "src": "471:7:31", + "scope": 45678, + "src": "471:7:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -313,10 +314,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44579, + "id": 45667, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "471:7:31", + "src": "471:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -325,22 +326,22 @@ "visibility": "internal" } ], - "src": "470:9:31" + "src": "470:9:35" }, - "scope": 45431, + "scope": 46519, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 44608, + "id": 45696, "nodeType": "FunctionDefinition", - "src": "588:104:31", + "src": "588:104:35", "nodes": [], "body": { - "id": 44607, + "id": 45695, "nodeType": "Block", - "src": "655:37:31", + "src": "655:37:35", "nodes": [], "statements": [ { @@ -350,18 +351,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44602, + "id": 45690, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44600, + "id": 45688, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44593, - "src": "672:1:31", + "referencedDeclaration": 45681, + "src": "672:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -370,49 +371,49 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 44601, + "id": 45689, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44595, - "src": "676:1:31", + "referencedDeclaration": 45683, + "src": "676:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "672:5:31", + "src": "672:5:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { - "id": 44604, + "id": 45692, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44595, - "src": "684:1:31", + "referencedDeclaration": 45683, + "src": "684:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44605, + "id": 45693, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "672:13:31", + "src": "672:13:35", "trueExpression": { - "id": 44603, + "id": 45691, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44593, - "src": "680:1:31", + "referencedDeclaration": 45681, + "src": "680:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -423,37 +424,37 @@ "typeString": "uint256" } }, - "functionReturnParameters": 44599, - "id": 44606, + "functionReturnParameters": 45687, + "id": 45694, "nodeType": "Return", - "src": "665:20:31" + "src": "665:20:35" } ] }, "documentation": { - "id": 44591, + "id": 45679, "nodeType": "StructuredDocumentation", - "src": "523:60:31", + "src": "523:60:35", "text": " @dev Returns the smallest of two numbers." }, "implemented": true, "kind": "function", "modifiers": [], "name": "min", - "nameLocation": "597:3:31", + "nameLocation": "597:3:35", "parameters": { - "id": 44596, + "id": 45684, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44593, + "id": 45681, "mutability": "mutable", "name": "a", - "nameLocation": "609:1:31", + "nameLocation": "609:1:35", "nodeType": "VariableDeclaration", - "scope": 44608, - "src": "601:9:31", + "scope": 45696, + "src": "601:9:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -461,10 +462,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44592, + "id": 45680, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "601:7:31", + "src": "601:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -474,13 +475,13 @@ }, { "constant": false, - "id": 44595, + "id": 45683, "mutability": "mutable", "name": "b", - "nameLocation": "620:1:31", + "nameLocation": "620:1:35", "nodeType": "VariableDeclaration", - "scope": 44608, - "src": "612:9:31", + "scope": 45696, + "src": "612:9:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -488,10 +489,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44594, + "id": 45682, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "612:7:31", + "src": "612:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -500,21 +501,21 @@ "visibility": "internal" } ], - "src": "600:22:31" + "src": "600:22:35" }, "returnParameters": { - "id": 44599, + "id": 45687, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44598, + "id": 45686, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44608, - "src": "646:7:31", + "scope": 45696, + "src": "646:7:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -522,10 +523,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44597, + "id": 45685, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "646:7:31", + "src": "646:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -534,22 +535,22 @@ "visibility": "internal" } ], - "src": "645:9:31" + "src": "645:9:35" }, - "scope": 45431, + "scope": 46519, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 44631, + "id": 45719, "nodeType": "FunctionDefinition", - "src": "805:153:31", + "src": "805:153:35", "nodes": [], "body": { - "id": 44630, + "id": 45718, "nodeType": "Block", - "src": "876:82:31", + "src": "876:82:35", "nodes": [], "statements": [ { @@ -558,7 +559,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44628, + "id": 45716, "isConstant": false, "isLValue": false, "isPure": false, @@ -570,18 +571,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44620, + "id": 45708, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44618, + "id": 45706, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44611, - "src": "931:1:31", + "referencedDeclaration": 45699, + "src": "931:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -590,32 +591,32 @@ "nodeType": "BinaryOperation", "operator": "&", "rightExpression": { - "id": 44619, + "id": 45707, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44613, - "src": "935:1:31", + "referencedDeclaration": 45701, + "src": "935:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "931:5:31", + "src": "931:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 44621, + "id": 45709, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "930:7:31", + "src": "930:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -628,7 +629,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44627, + "id": 45715, "isConstant": false, "isLValue": false, "isPure": false, @@ -640,18 +641,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44624, + "id": 45712, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44622, + "id": 45710, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44611, - "src": "941:1:31", + "referencedDeclaration": 45699, + "src": "941:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -660,32 +661,32 @@ "nodeType": "BinaryOperation", "operator": "^", "rightExpression": { - "id": 44623, + "id": 45711, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44613, - "src": "945:1:31", + "referencedDeclaration": 45701, + "src": "945:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "941:5:31", + "src": "941:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 44625, + "id": 45713, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "940:7:31", + "src": "940:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -695,63 +696,63 @@ "operator": "/", "rightExpression": { "hexValue": "32", - "id": 44626, + "id": 45714, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "950:1:31", + "src": "950:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "940:11:31", + "src": "940:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "930:21:31", + "src": "930:21:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 44617, - "id": 44629, + "functionReturnParameters": 45705, + "id": 45717, "nodeType": "Return", - "src": "923:28:31" + "src": "923:28:35" } ] }, "documentation": { - "id": 44609, + "id": 45697, "nodeType": "StructuredDocumentation", - "src": "698:102:31", + "src": "698:102:35", "text": " @dev Returns the average of two numbers. The result is rounded towards\n zero." }, "implemented": true, "kind": "function", "modifiers": [], "name": "average", - "nameLocation": "814:7:31", + "nameLocation": "814:7:35", "parameters": { - "id": 44614, + "id": 45702, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44611, + "id": 45699, "mutability": "mutable", "name": "a", - "nameLocation": "830:1:31", + "nameLocation": "830:1:35", "nodeType": "VariableDeclaration", - "scope": 44631, - "src": "822:9:31", + "scope": 45719, + "src": "822:9:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -759,10 +760,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44610, + "id": 45698, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "822:7:31", + "src": "822:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -772,13 +773,13 @@ }, { "constant": false, - "id": 44613, + "id": 45701, "mutability": "mutable", "name": "b", - "nameLocation": "841:1:31", + "nameLocation": "841:1:35", "nodeType": "VariableDeclaration", - "scope": 44631, - "src": "833:9:31", + "scope": 45719, + "src": "833:9:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -786,10 +787,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44612, + "id": 45700, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "833:7:31", + "src": "833:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -798,21 +799,21 @@ "visibility": "internal" } ], - "src": "821:22:31" + "src": "821:22:35" }, "returnParameters": { - "id": 44617, + "id": 45705, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44616, + "id": 45704, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44631, - "src": "867:7:31", + "scope": 45719, + "src": "867:7:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -820,10 +821,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44615, + "id": 45703, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "867:7:31", + "src": "867:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -832,22 +833,22 @@ "visibility": "internal" } ], - "src": "866:9:31" + "src": "866:9:35" }, - "scope": 45431, + "scope": 46519, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 44656, + "id": 45744, "nodeType": "FunctionDefinition", - "src": "1157:194:31", + "src": "1157:194:35", "nodes": [], "body": { - "id": 44655, + "id": 45743, "nodeType": "Block", - "src": "1228:123:31", + "src": "1228:123:35", "nodes": [], "statements": [ { @@ -857,18 +858,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44643, + "id": 45731, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44641, + "id": 45729, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44634, - "src": "1316:1:31", + "referencedDeclaration": 45722, + "src": "1316:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -878,21 +879,21 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 44642, + "id": 45730, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1321:1:31", + "src": "1321:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1316:6:31", + "src": "1316:6:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -903,7 +904,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44652, + "id": 45740, "isConstant": false, "isLValue": false, "isPure": false, @@ -913,7 +914,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44650, + "id": 45738, "isConstant": false, "isLValue": false, "isPure": false, @@ -925,18 +926,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44647, + "id": 45735, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44645, + "id": 45733, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44634, - "src": "1330:1:31", + "referencedDeclaration": 45722, + "src": "1330:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -946,35 +947,35 @@ "operator": "-", "rightExpression": { "hexValue": "31", - "id": 44646, + "id": 45734, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1334:1:31", + "src": "1334:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "1330:5:31", + "src": "1330:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 44648, + "id": 45736, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1329:7:31", + "src": "1329:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -983,18 +984,18 @@ "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { - "id": 44649, + "id": 45737, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44636, - "src": "1339:1:31", + "referencedDeclaration": 45724, + "src": "1339:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1329:11:31", + "src": "1329:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1004,43 +1005,43 @@ "operator": "+", "rightExpression": { "hexValue": "31", - "id": 44651, + "id": 45739, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1343:1:31", + "src": "1343:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "1329:15:31", + "src": "1329:15:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44653, + "id": 45741, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "1316:28:31", + "src": "1316:28:35", "trueExpression": { "hexValue": "30", - "id": 44644, + "id": 45732, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1325:1:31", + "src": "1325:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -1052,37 +1053,37 @@ "typeString": "uint256" } }, - "functionReturnParameters": 44640, - "id": 44654, + "functionReturnParameters": 45728, + "id": 45742, "nodeType": "Return", - "src": "1309:35:31" + "src": "1309:35:35" } ] }, "documentation": { - "id": 44632, + "id": 45720, "nodeType": "StructuredDocumentation", - "src": "964:188:31", + "src": "964:188:35", "text": " @dev Returns the ceiling of the division of two numbers.\n This differs from standard division with `/` in that it rounds up instead\n of rounding down." }, "implemented": true, "kind": "function", "modifiers": [], "name": "ceilDiv", - "nameLocation": "1166:7:31", + "nameLocation": "1166:7:35", "parameters": { - "id": 44637, + "id": 45725, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44634, + "id": 45722, "mutability": "mutable", "name": "a", - "nameLocation": "1182:1:31", + "nameLocation": "1182:1:35", "nodeType": "VariableDeclaration", - "scope": 44656, - "src": "1174:9:31", + "scope": 45744, + "src": "1174:9:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1090,10 +1091,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44633, + "id": 45721, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1174:7:31", + "src": "1174:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1103,13 +1104,13 @@ }, { "constant": false, - "id": 44636, + "id": 45724, "mutability": "mutable", "name": "b", - "nameLocation": "1193:1:31", + "nameLocation": "1193:1:35", "nodeType": "VariableDeclaration", - "scope": 44656, - "src": "1185:9:31", + "scope": 45744, + "src": "1185:9:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1117,10 +1118,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44635, + "id": 45723, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1185:7:31", + "src": "1185:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1129,21 +1130,21 @@ "visibility": "internal" } ], - "src": "1173:22:31" + "src": "1173:22:35" }, "returnParameters": { - "id": 44640, + "id": 45728, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44639, + "id": 45727, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44656, - "src": "1219:7:31", + "scope": 45744, + "src": "1219:7:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1151,10 +1152,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44638, + "id": 45726, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1219:7:31", + "src": "1219:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1163,43 +1164,43 @@ "visibility": "internal" } ], - "src": "1218:9:31" + "src": "1218:9:35" }, - "scope": 45431, + "scope": 46519, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 44779, + "id": 45867, "nodeType": "FunctionDefinition", - "src": "1667:4213:31", + "src": "1667:4213:35", "nodes": [], "body": { - "id": 44778, + "id": 45866, "nodeType": "Block", - "src": "1765:4115:31", + "src": "1765:4115:35", "nodes": [], "statements": [ { - "id": 44777, + "id": 45865, "nodeType": "UncheckedBlock", - "src": "1775:4099:31", + "src": "1775:4099:35", "statements": [ { "assignments": [ - 44669 + 45757 ], "declarations": [ { "constant": false, - "id": 44669, + "id": 45757, "mutability": "mutable", "name": "prod0", - "nameLocation": "2104:5:31", + "nameLocation": "2104:5:35", "nodeType": "VariableDeclaration", - "scope": 44777, - "src": "2096:13:31", + "scope": 45865, + "src": "2096:13:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1207,10 +1208,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44668, + "id": 45756, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2096:7:31", + "src": "2096:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1219,24 +1220,24 @@ "visibility": "internal" } ], - "id": 44670, + "id": 45758, "nodeType": "VariableDeclarationStatement", - "src": "2096:13:31" + "src": "2096:13:35" }, { "assignments": [ - 44672 + 45760 ], "declarations": [ { "constant": false, - "id": 44672, + "id": 45760, "mutability": "mutable", "name": "prod1", - "nameLocation": "2176:5:31", + "nameLocation": "2176:5:35", "nodeType": "VariableDeclaration", - "scope": 44777, - "src": "2168:13:31", + "scope": 45865, + "src": "2168:13:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1244,10 +1245,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44671, + "id": 45759, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2168:7:31", + "src": "2168:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1256,36 +1257,36 @@ "visibility": "internal" } ], - "id": 44673, + "id": 45761, "nodeType": "VariableDeclarationStatement", - "src": "2168:13:31" + "src": "2168:13:35" }, { "AST": { "nodeType": "YulBlock", - "src": "2248:157:31", + "src": "2248:157:35", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "2266:30:31", + "src": "2266:30:35", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "2283:1:31" + "src": "2283:1:35" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "2286:1:31" + "src": "2286:1:35" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "2293:1:31", + "src": "2293:1:35", "type": "", "value": "0" } @@ -1293,64 +1294,64 @@ "functionName": { "name": "not", "nodeType": "YulIdentifier", - "src": "2289:3:31" + "src": "2289:3:35" }, "nodeType": "YulFunctionCall", - "src": "2289:6:31" + "src": "2289:6:35" } ], "functionName": { "name": "mulmod", "nodeType": "YulIdentifier", - "src": "2276:6:31" + "src": "2276:6:35" }, "nodeType": "YulFunctionCall", - "src": "2276:20:31" + "src": "2276:20:35" }, "variables": [ { "name": "mm", "nodeType": "YulTypedName", - "src": "2270:2:31", + "src": "2270:2:35", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "2313:18:31", + "src": "2313:18:35", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "2326:1:31" + "src": "2326:1:35" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "2329:1:31" + "src": "2329:1:35" } ], "functionName": { "name": "mul", "nodeType": "YulIdentifier", - "src": "2322:3:31" + "src": "2322:3:35" }, "nodeType": "YulFunctionCall", - "src": "2322:9:31" + "src": "2322:9:35" }, "variableNames": [ { "name": "prod0", "nodeType": "YulIdentifier", - "src": "2313:5:31" + "src": "2313:5:35" } ] }, { "nodeType": "YulAssignment", - "src": "2348:43:31", + "src": "2348:43:35", "value": { "arguments": [ { @@ -1358,57 +1359,57 @@ { "name": "mm", "nodeType": "YulIdentifier", - "src": "2365:2:31" + "src": "2365:2:35" }, { "name": "prod0", "nodeType": "YulIdentifier", - "src": "2369:5:31" + "src": "2369:5:35" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "2361:3:31" + "src": "2361:3:35" }, "nodeType": "YulFunctionCall", - "src": "2361:14:31" + "src": "2361:14:35" }, { "arguments": [ { "name": "mm", "nodeType": "YulIdentifier", - "src": "2380:2:31" + "src": "2380:2:35" }, { "name": "prod0", "nodeType": "YulIdentifier", - "src": "2384:5:31" + "src": "2384:5:35" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "2377:2:31" + "src": "2377:2:35" }, "nodeType": "YulFunctionCall", - "src": "2377:13:31" + "src": "2377:13:35" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "2357:3:31" + "src": "2357:3:35" }, "nodeType": "YulFunctionCall", - "src": "2357:34:31" + "src": "2357:34:35" }, "variableNames": [ { "name": "prod1", "nodeType": "YulIdentifier", - "src": "2348:5:31" + "src": "2348:5:35" } ] } @@ -1417,65 +1418,65 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 44669, + "declaration": 45757, "isOffset": false, "isSlot": false, - "src": "2313:5:31", + "src": "2313:5:35", "valueSize": 1 }, { - "declaration": 44669, + "declaration": 45757, "isOffset": false, "isSlot": false, - "src": "2369:5:31", + "src": "2369:5:35", "valueSize": 1 }, { - "declaration": 44669, + "declaration": 45757, "isOffset": false, "isSlot": false, - "src": "2384:5:31", + "src": "2384:5:35", "valueSize": 1 }, { - "declaration": 44672, + "declaration": 45760, "isOffset": false, "isSlot": false, - "src": "2348:5:31", + "src": "2348:5:35", "valueSize": 1 }, { - "declaration": 44659, + "declaration": 45747, "isOffset": false, "isSlot": false, - "src": "2283:1:31", + "src": "2283:1:35", "valueSize": 1 }, { - "declaration": 44659, + "declaration": 45747, "isOffset": false, "isSlot": false, - "src": "2326:1:31", + "src": "2326:1:35", "valueSize": 1 }, { - "declaration": 44661, + "declaration": 45749, "isOffset": false, "isSlot": false, - "src": "2286:1:31", + "src": "2286:1:35", "valueSize": 1 }, { - "declaration": 44661, + "declaration": 45749, "isOffset": false, "isSlot": false, - "src": "2329:1:31", + "src": "2329:1:35", "valueSize": 1 } ], - "id": 44674, + "id": 45762, "nodeType": "InlineAssembly", - "src": "2239:166:31" + "src": "2239:166:35" }, { "condition": { @@ -1483,18 +1484,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44677, + "id": 45765, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44675, + "id": 45763, "name": "prod1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44672, - "src": "2486:5:31", + "referencedDeclaration": 45760, + "src": "2486:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1504,33 +1505,33 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 44676, + "id": 45764, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2495:1:31", + "src": "2495:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "2486:10:31", + "src": "2486:10:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 44683, + "id": 45771, "nodeType": "IfStatement", - "src": "2482:368:31", + "src": "2482:368:35", "trueBody": { - "id": 44682, + "id": 45770, "nodeType": "Block", - "src": "2498:352:31", + "src": "2498:352:35", "statements": [ { "expression": { @@ -1538,18 +1539,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44680, + "id": 45768, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44678, + "id": 45766, "name": "prod0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44669, - "src": "2816:5:31", + "referencedDeclaration": 45757, + "src": "2816:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1558,27 +1559,27 @@ "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { - "id": 44679, + "id": 45767, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44663, - "src": "2824:11:31", + "referencedDeclaration": 45751, + "src": "2824:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2816:19:31", + "src": "2816:19:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 44667, - "id": 44681, + "functionReturnParameters": 45755, + "id": 45769, "nodeType": "Return", - "src": "2809:26:31" + "src": "2809:26:35" } ] } @@ -1591,18 +1592,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44687, + "id": 45775, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44685, + "id": 45773, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44663, - "src": "2960:11:31", + "referencedDeclaration": 45751, + "src": "2960:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1611,18 +1612,18 @@ "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { - "id": 44686, + "id": 45774, "name": "prod1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44672, - "src": "2974:5:31", + "referencedDeclaration": 45760, + "src": "2974:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2960:19:31", + "src": "2960:19:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1630,14 +1631,14 @@ }, { "hexValue": "4d6174683a206d756c446976206f766572666c6f77", - "id": 44688, + "id": 45776, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2981:23:31", + "src": "2981:23:35", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d87093691d63b122ac2c14d1b11554b287e2431cf2b03550b3be7cffb0f86851", "typeString": "literal_string \"Math: mulDiv overflow\"" @@ -1656,7 +1657,7 @@ "typeString": "literal_string \"Math: mulDiv overflow\"" } ], - "id": 44684, + "id": 45772, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1664,13 +1665,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2952:7:31", + "src": "2952:7:35", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 44689, + "id": 45777, "isConstant": false, "isLValue": false, "isPure": false, @@ -1679,31 +1680,31 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2952:53:31", + "src": "2952:53:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 44690, + "id": 45778, "nodeType": "ExpressionStatement", - "src": "2952:53:31" + "src": "2952:53:35" }, { "assignments": [ - 44692 + 45780 ], "declarations": [ { "constant": false, - "id": 44692, + "id": 45780, "mutability": "mutable", "name": "remainder", - "nameLocation": "3269:9:31", + "nameLocation": "3269:9:35", "nodeType": "VariableDeclaration", - "scope": 44777, - "src": "3261:17:31", + "scope": 45865, + "src": "3261:17:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1711,10 +1712,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44691, + "id": 45779, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3261:7:31", + "src": "3261:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1723,129 +1724,129 @@ "visibility": "internal" } ], - "id": 44693, + "id": 45781, "nodeType": "VariableDeclarationStatement", - "src": "3261:17:31" + "src": "3261:17:35" }, { "AST": { "nodeType": "YulBlock", - "src": "3301:291:31", + "src": "3301:291:35", "statements": [ { "nodeType": "YulAssignment", - "src": "3370:38:31", + "src": "3370:38:35", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "3390:1:31" + "src": "3390:1:35" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "3393:1:31" + "src": "3393:1:35" }, { "name": "denominator", "nodeType": "YulIdentifier", - "src": "3396:11:31" + "src": "3396:11:35" } ], "functionName": { "name": "mulmod", "nodeType": "YulIdentifier", - "src": "3383:6:31" + "src": "3383:6:35" }, "nodeType": "YulFunctionCall", - "src": "3383:25:31" + "src": "3383:25:35" }, "variableNames": [ { "name": "remainder", "nodeType": "YulIdentifier", - "src": "3370:9:31" + "src": "3370:9:35" } ] }, { "nodeType": "YulAssignment", - "src": "3490:41:31", + "src": "3490:41:35", "value": { "arguments": [ { "name": "prod1", "nodeType": "YulIdentifier", - "src": "3503:5:31" + "src": "3503:5:35" }, { "arguments": [ { "name": "remainder", "nodeType": "YulIdentifier", - "src": "3513:9:31" + "src": "3513:9:35" }, { "name": "prod0", "nodeType": "YulIdentifier", - "src": "3524:5:31" + "src": "3524:5:35" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "3510:2:31" + "src": "3510:2:35" }, "nodeType": "YulFunctionCall", - "src": "3510:20:31" + "src": "3510:20:35" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "3499:3:31" + "src": "3499:3:35" }, "nodeType": "YulFunctionCall", - "src": "3499:32:31" + "src": "3499:32:35" }, "variableNames": [ { "name": "prod1", "nodeType": "YulIdentifier", - "src": "3490:5:31" + "src": "3490:5:35" } ] }, { "nodeType": "YulAssignment", - "src": "3548:30:31", + "src": "3548:30:35", "value": { "arguments": [ { "name": "prod0", "nodeType": "YulIdentifier", - "src": "3561:5:31" + "src": "3561:5:35" }, { "name": "remainder", "nodeType": "YulIdentifier", - "src": "3568:9:31" + "src": "3568:9:35" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "3557:3:31" + "src": "3557:3:35" }, "nodeType": "YulFunctionCall", - "src": "3557:21:31" + "src": "3557:21:35" }, "variableNames": [ { "name": "prod0", "nodeType": "YulIdentifier", - "src": "3548:5:31" + "src": "3548:5:35" } ] } @@ -1854,101 +1855,101 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 44663, + "declaration": 45751, "isOffset": false, "isSlot": false, - "src": "3396:11:31", + "src": "3396:11:35", "valueSize": 1 }, { - "declaration": 44669, + "declaration": 45757, "isOffset": false, "isSlot": false, - "src": "3524:5:31", + "src": "3524:5:35", "valueSize": 1 }, { - "declaration": 44669, + "declaration": 45757, "isOffset": false, "isSlot": false, - "src": "3548:5:31", + "src": "3548:5:35", "valueSize": 1 }, { - "declaration": 44669, + "declaration": 45757, "isOffset": false, "isSlot": false, - "src": "3561:5:31", + "src": "3561:5:35", "valueSize": 1 }, { - "declaration": 44672, + "declaration": 45760, "isOffset": false, "isSlot": false, - "src": "3490:5:31", + "src": "3490:5:35", "valueSize": 1 }, { - "declaration": 44672, + "declaration": 45760, "isOffset": false, "isSlot": false, - "src": "3503:5:31", + "src": "3503:5:35", "valueSize": 1 }, { - "declaration": 44692, + "declaration": 45780, "isOffset": false, "isSlot": false, - "src": "3370:9:31", + "src": "3370:9:35", "valueSize": 1 }, { - "declaration": 44692, + "declaration": 45780, "isOffset": false, "isSlot": false, - "src": "3513:9:31", + "src": "3513:9:35", "valueSize": 1 }, { - "declaration": 44692, + "declaration": 45780, "isOffset": false, "isSlot": false, - "src": "3568:9:31", + "src": "3568:9:35", "valueSize": 1 }, { - "declaration": 44659, + "declaration": 45747, "isOffset": false, "isSlot": false, - "src": "3390:1:31", + "src": "3390:1:35", "valueSize": 1 }, { - "declaration": 44661, + "declaration": 45749, "isOffset": false, "isSlot": false, - "src": "3393:1:31", + "src": "3393:1:35", "valueSize": 1 } ], - "id": 44694, + "id": 45782, "nodeType": "InlineAssembly", - "src": "3292:300:31" + "src": "3292:300:35" }, { "assignments": [ - 44696 + 45784 ], "declarations": [ { "constant": false, - "id": 44696, + "id": 45784, "mutability": "mutable", "name": "twos", - "nameLocation": "3907:4:31", + "nameLocation": "3907:4:35", "nodeType": "VariableDeclaration", - "scope": 44777, - "src": "3899:12:31", + "scope": 45865, + "src": "3899:12:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1956,10 +1957,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44695, + "id": 45783, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3899:7:31", + "src": "3899:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1968,24 +1969,24 @@ "visibility": "internal" } ], - "id": 44704, + "id": 45792, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44703, + "id": 45791, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44697, + "id": 45785, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44663, - "src": "3914:11:31", + "referencedDeclaration": 45751, + "src": "3914:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2000,13 +2001,13 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44701, + "id": 45789, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44699, + "id": 45787, "isConstant": false, "isLValue": false, "isPure": false, @@ -2014,14 +2015,14 @@ "nodeType": "UnaryOperation", "operator": "~", "prefix": true, - "src": "3929:12:31", + "src": "3929:12:35", "subExpression": { - "id": 44698, + "id": 45786, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44663, - "src": "3930:11:31", + "referencedDeclaration": 45751, + "src": "3930:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2036,121 +2037,121 @@ "operator": "+", "rightExpression": { "hexValue": "31", - "id": 44700, + "id": 45788, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3944:1:31", + "src": "3944:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "3929:16:31", + "src": "3929:16:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 44702, + "id": 45790, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "3928:18:31", + "src": "3928:18:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3914:32:31", + "src": "3914:32:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3899:47:31" + "src": "3899:47:35" }, { "AST": { "nodeType": "YulBlock", - "src": "3969:362:31", + "src": "3969:362:35", "statements": [ { "nodeType": "YulAssignment", - "src": "4034:37:31", + "src": "4034:37:35", "value": { "arguments": [ { "name": "denominator", "nodeType": "YulIdentifier", - "src": "4053:11:31" + "src": "4053:11:35" }, { "name": "twos", "nodeType": "YulIdentifier", - "src": "4066:4:31" + "src": "4066:4:35" } ], "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "4049:3:31" + "src": "4049:3:35" }, "nodeType": "YulFunctionCall", - "src": "4049:22:31" + "src": "4049:22:35" }, "variableNames": [ { "name": "denominator", "nodeType": "YulIdentifier", - "src": "4034:11:31" + "src": "4034:11:35" } ] }, { "nodeType": "YulAssignment", - "src": "4138:25:31", + "src": "4138:25:35", "value": { "arguments": [ { "name": "prod0", "nodeType": "YulIdentifier", - "src": "4151:5:31" + "src": "4151:5:35" }, { "name": "twos", "nodeType": "YulIdentifier", - "src": "4158:4:31" + "src": "4158:4:35" } ], "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "4147:3:31" + "src": "4147:3:35" }, "nodeType": "YulFunctionCall", - "src": "4147:16:31" + "src": "4147:16:35" }, "variableNames": [ { "name": "prod0", "nodeType": "YulIdentifier", - "src": "4138:5:31" + "src": "4138:5:35" } ] }, { "nodeType": "YulAssignment", - "src": "4278:39:31", + "src": "4278:39:35", "value": { "arguments": [ { @@ -2160,42 +2161,42 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4298:1:31", + "src": "4298:1:35", "type": "", "value": "0" }, { "name": "twos", "nodeType": "YulIdentifier", - "src": "4301:4:31" + "src": "4301:4:35" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "4294:3:31" + "src": "4294:3:35" }, "nodeType": "YulFunctionCall", - "src": "4294:12:31" + "src": "4294:12:35" }, { "name": "twos", "nodeType": "YulIdentifier", - "src": "4308:4:31" + "src": "4308:4:35" } ], "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "4290:3:31" + "src": "4290:3:35" }, "nodeType": "YulFunctionCall", - "src": "4290:23:31" + "src": "4290:23:35" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4315:1:31", + "src": "4315:1:35", "type": "", "value": "1" } @@ -2203,16 +2204,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4286:3:31" + "src": "4286:3:35" }, "nodeType": "YulFunctionCall", - "src": "4286:31:31" + "src": "4286:31:35" }, "variableNames": [ { "name": "twos", "nodeType": "YulIdentifier", - "src": "4278:4:31" + "src": "4278:4:35" } ] } @@ -2221,87 +2222,87 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 44663, + "declaration": 45751, "isOffset": false, "isSlot": false, - "src": "4034:11:31", + "src": "4034:11:35", "valueSize": 1 }, { - "declaration": 44663, + "declaration": 45751, "isOffset": false, "isSlot": false, - "src": "4053:11:31", + "src": "4053:11:35", "valueSize": 1 }, { - "declaration": 44669, + "declaration": 45757, "isOffset": false, "isSlot": false, - "src": "4138:5:31", + "src": "4138:5:35", "valueSize": 1 }, { - "declaration": 44669, + "declaration": 45757, "isOffset": false, "isSlot": false, - "src": "4151:5:31", + "src": "4151:5:35", "valueSize": 1 }, { - "declaration": 44696, + "declaration": 45784, "isOffset": false, "isSlot": false, - "src": "4066:4:31", + "src": "4066:4:35", "valueSize": 1 }, { - "declaration": 44696, + "declaration": 45784, "isOffset": false, "isSlot": false, - "src": "4158:4:31", + "src": "4158:4:35", "valueSize": 1 }, { - "declaration": 44696, + "declaration": 45784, "isOffset": false, "isSlot": false, - "src": "4278:4:31", + "src": "4278:4:35", "valueSize": 1 }, { - "declaration": 44696, + "declaration": 45784, "isOffset": false, "isSlot": false, - "src": "4301:4:31", + "src": "4301:4:35", "valueSize": 1 }, { - "declaration": 44696, + "declaration": 45784, "isOffset": false, "isSlot": false, - "src": "4308:4:31", + "src": "4308:4:35", "valueSize": 1 } ], - "id": 44705, + "id": 45793, "nodeType": "InlineAssembly", - "src": "3960:371:31" + "src": "3960:371:35" }, { "expression": { - "id": 44710, + "id": 45798, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44706, + "id": 45794, "name": "prod0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44669, - "src": "4397:5:31", + "referencedDeclaration": 45757, + "src": "4397:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2314,18 +2315,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44709, + "id": 45797, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44707, + "id": 45795, "name": "prod1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44672, - "src": "4406:5:31", + "referencedDeclaration": 45760, + "src": "4406:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2334,47 +2335,47 @@ "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { - "id": 44708, + "id": 45796, "name": "twos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44696, - "src": "4414:4:31", + "referencedDeclaration": 45784, + "src": "4414:4:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4406:12:31", + "src": "4406:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4397:21:31", + "src": "4397:21:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44711, + "id": 45799, "nodeType": "ExpressionStatement", - "src": "4397:21:31" + "src": "4397:21:35" }, { "assignments": [ - 44713 + 45801 ], "declarations": [ { "constant": false, - "id": 44713, + "id": 45801, "mutability": "mutable", "name": "inverse", - "nameLocation": "4744:7:31", + "nameLocation": "4744:7:35", "nodeType": "VariableDeclaration", - "scope": 44777, - "src": "4736:15:31", + "scope": 45865, + "src": "4736:15:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2382,10 +2383,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44712, + "id": 45800, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4736:7:31", + "src": "4736:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2394,13 +2395,13 @@ "visibility": "internal" } ], - "id": 44720, + "id": 45808, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44719, + "id": 45807, "isConstant": false, "isLValue": false, "isPure": false, @@ -2412,21 +2413,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44716, + "id": 45804, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "33", - "id": 44714, + "id": 45802, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4755:1:31", + "src": "4755:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -2436,32 +2437,32 @@ "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { - "id": 44715, + "id": 45803, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44663, - "src": "4759:11:31", + "referencedDeclaration": 45751, + "src": "4759:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4755:15:31", + "src": "4755:15:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 44717, + "id": 45805, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "4754:17:31", + "src": "4754:17:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2471,43 +2472,43 @@ "operator": "^", "rightExpression": { "hexValue": "32", - "id": 44718, + "id": 45806, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4774:1:31", + "src": "4774:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "4754:21:31", + "src": "4754:21:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4736:39:31" + "src": "4736:39:35" }, { "expression": { - "id": 44727, + "id": 45815, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44721, + "id": 45809, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44713, - "src": "4992:7:31", + "referencedDeclaration": 45801, + "src": "4992:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2520,21 +2521,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44726, + "id": 45814, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", - "id": 44722, + "id": 45810, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5003:1:31", + "src": "5003:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -2548,18 +2549,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44725, + "id": 45813, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44723, + "id": 45811, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44663, - "src": "5007:11:31", + "referencedDeclaration": 45751, + "src": "5007:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2568,53 +2569,53 @@ "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { - "id": 44724, + "id": 45812, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44713, - "src": "5021:7:31", + "referencedDeclaration": 45801, + "src": "5021:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5007:21:31", + "src": "5007:21:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5003:25:31", + "src": "5003:25:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4992:36:31", + "src": "4992:36:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44728, + "id": 45816, "nodeType": "ExpressionStatement", - "src": "4992:36:31" + "src": "4992:36:35" }, { "expression": { - "id": 44735, + "id": 45823, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44729, + "id": 45817, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44713, - "src": "5061:7:31", + "referencedDeclaration": 45801, + "src": "5061:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2627,21 +2628,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44734, + "id": 45822, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", - "id": 44730, + "id": 45818, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5072:1:31", + "src": "5072:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -2655,18 +2656,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44733, + "id": 45821, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44731, + "id": 45819, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44663, - "src": "5076:11:31", + "referencedDeclaration": 45751, + "src": "5076:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2675,53 +2676,53 @@ "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { - "id": 44732, + "id": 45820, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44713, - "src": "5090:7:31", + "referencedDeclaration": 45801, + "src": "5090:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5076:21:31", + "src": "5076:21:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5072:25:31", + "src": "5072:25:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5061:36:31", + "src": "5061:36:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44736, + "id": 45824, "nodeType": "ExpressionStatement", - "src": "5061:36:31" + "src": "5061:36:35" }, { "expression": { - "id": 44743, + "id": 45831, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44737, + "id": 45825, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44713, - "src": "5131:7:31", + "referencedDeclaration": 45801, + "src": "5131:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2734,21 +2735,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44742, + "id": 45830, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", - "id": 44738, + "id": 45826, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5142:1:31", + "src": "5142:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -2762,18 +2763,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44741, + "id": 45829, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44739, + "id": 45827, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44663, - "src": "5146:11:31", + "referencedDeclaration": 45751, + "src": "5146:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2782,53 +2783,53 @@ "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { - "id": 44740, + "id": 45828, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44713, - "src": "5160:7:31", + "referencedDeclaration": 45801, + "src": "5160:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5146:21:31", + "src": "5146:21:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5142:25:31", + "src": "5142:25:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5131:36:31", + "src": "5131:36:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44744, + "id": 45832, "nodeType": "ExpressionStatement", - "src": "5131:36:31" + "src": "5131:36:35" }, { "expression": { - "id": 44751, + "id": 45839, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44745, + "id": 45833, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44713, - "src": "5201:7:31", + "referencedDeclaration": 45801, + "src": "5201:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2841,21 +2842,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44750, + "id": 45838, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", - "id": 44746, + "id": 45834, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5212:1:31", + "src": "5212:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -2869,18 +2870,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44749, + "id": 45837, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44747, + "id": 45835, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44663, - "src": "5216:11:31", + "referencedDeclaration": 45751, + "src": "5216:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2889,53 +2890,53 @@ "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { - "id": 44748, + "id": 45836, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44713, - "src": "5230:7:31", + "referencedDeclaration": 45801, + "src": "5230:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5216:21:31", + "src": "5216:21:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5212:25:31", + "src": "5212:25:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5201:36:31", + "src": "5201:36:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44752, + "id": 45840, "nodeType": "ExpressionStatement", - "src": "5201:36:31" + "src": "5201:36:35" }, { "expression": { - "id": 44759, + "id": 45847, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44753, + "id": 45841, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44713, - "src": "5271:7:31", + "referencedDeclaration": 45801, + "src": "5271:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2948,21 +2949,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44758, + "id": 45846, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", - "id": 44754, + "id": 45842, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5282:1:31", + "src": "5282:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -2976,18 +2977,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44757, + "id": 45845, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44755, + "id": 45843, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44663, - "src": "5286:11:31", + "referencedDeclaration": 45751, + "src": "5286:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2996,53 +2997,53 @@ "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { - "id": 44756, + "id": 45844, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44713, - "src": "5300:7:31", + "referencedDeclaration": 45801, + "src": "5300:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5286:21:31", + "src": "5286:21:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5282:25:31", + "src": "5282:25:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5271:36:31", + "src": "5271:36:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44760, + "id": 45848, "nodeType": "ExpressionStatement", - "src": "5271:36:31" + "src": "5271:36:35" }, { "expression": { - "id": 44767, + "id": 45855, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44761, + "id": 45849, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44713, - "src": "5342:7:31", + "referencedDeclaration": 45801, + "src": "5342:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3055,21 +3056,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44766, + "id": 45854, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", - "id": 44762, + "id": 45850, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5353:1:31", + "src": "5353:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -3083,18 +3084,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44765, + "id": 45853, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44763, + "id": 45851, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44663, - "src": "5357:11:31", + "referencedDeclaration": 45751, + "src": "5357:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3103,53 +3104,53 @@ "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { - "id": 44764, + "id": 45852, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44713, - "src": "5371:7:31", + "referencedDeclaration": 45801, + "src": "5371:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5357:21:31", + "src": "5357:21:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5353:25:31", + "src": "5353:25:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5342:36:31", + "src": "5342:36:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44768, + "id": 45856, "nodeType": "ExpressionStatement", - "src": "5342:36:31" + "src": "5342:36:35" }, { "expression": { - "id": 44773, + "id": 45861, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44769, + "id": 45857, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44666, - "src": "5812:6:31", + "referencedDeclaration": 45754, + "src": "5812:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3162,18 +3163,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44772, + "id": 45860, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44770, + "id": 45858, "name": "prod0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44669, - "src": "5821:5:31", + "referencedDeclaration": 45757, + "src": "5821:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3182,79 +3183,79 @@ "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { - "id": 44771, + "id": 45859, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44713, - "src": "5829:7:31", + "referencedDeclaration": 45801, + "src": "5829:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5821:15:31", + "src": "5821:15:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5812:24:31", + "src": "5812:24:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44774, + "id": 45862, "nodeType": "ExpressionStatement", - "src": "5812:24:31" + "src": "5812:24:35" }, { "expression": { - "id": 44775, + "id": 45863, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44666, - "src": "5857:6:31", + "referencedDeclaration": 45754, + "src": "5857:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 44667, - "id": 44776, + "functionReturnParameters": 45755, + "id": 45864, "nodeType": "Return", - "src": "5850:13:31" + "src": "5850:13:35" } ] } ] }, "documentation": { - "id": 44657, + "id": 45745, "nodeType": "StructuredDocumentation", - "src": "1357:305:31", + "src": "1357:305:35", "text": " @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\n @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)\n with further edits by Uniswap Labs also under MIT license." }, "implemented": true, "kind": "function", "modifiers": [], "name": "mulDiv", - "nameLocation": "1676:6:31", + "nameLocation": "1676:6:35", "parameters": { - "id": 44664, + "id": 45752, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44659, + "id": 45747, "mutability": "mutable", "name": "x", - "nameLocation": "1691:1:31", + "nameLocation": "1691:1:35", "nodeType": "VariableDeclaration", - "scope": 44779, - "src": "1683:9:31", + "scope": 45867, + "src": "1683:9:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3262,10 +3263,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44658, + "id": 45746, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1683:7:31", + "src": "1683:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3275,13 +3276,13 @@ }, { "constant": false, - "id": 44661, + "id": 45749, "mutability": "mutable", "name": "y", - "nameLocation": "1702:1:31", + "nameLocation": "1702:1:35", "nodeType": "VariableDeclaration", - "scope": 44779, - "src": "1694:9:31", + "scope": 45867, + "src": "1694:9:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3289,10 +3290,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44660, + "id": 45748, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1694:7:31", + "src": "1694:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3302,13 +3303,13 @@ }, { "constant": false, - "id": 44663, + "id": 45751, "mutability": "mutable", "name": "denominator", - "nameLocation": "1713:11:31", + "nameLocation": "1713:11:35", "nodeType": "VariableDeclaration", - "scope": 44779, - "src": "1705:19:31", + "scope": 45867, + "src": "1705:19:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3316,10 +3317,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44662, + "id": 45750, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1705:7:31", + "src": "1705:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3328,21 +3329,21 @@ "visibility": "internal" } ], - "src": "1682:43:31" + "src": "1682:43:35" }, "returnParameters": { - "id": 44667, + "id": 45755, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44666, + "id": 45754, "mutability": "mutable", "name": "result", - "nameLocation": "1757:6:31", + "nameLocation": "1757:6:35", "nodeType": "VariableDeclaration", - "scope": 44779, - "src": "1749:14:31", + "scope": 45867, + "src": "1749:14:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3350,10 +3351,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44665, + "id": 45753, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1749:7:31", + "src": "1749:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3362,38 +3363,38 @@ "visibility": "internal" } ], - "src": "1748:16:31" + "src": "1748:16:35" }, - "scope": 45431, + "scope": 46519, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 44823, + "id": 45911, "nodeType": "FunctionDefinition", - "src": "6012:299:31", + "src": "6012:299:35", "nodes": [], "body": { - "id": 44822, + "id": 45910, "nodeType": "Block", - "src": "6122:189:31", + "src": "6122:189:35", "nodes": [], "statements": [ { "assignments": [ - 44795 + 45883 ], "declarations": [ { "constant": false, - "id": 44795, + "id": 45883, "mutability": "mutable", "name": "result", - "nameLocation": "6140:6:31", + "nameLocation": "6140:6:35", "nodeType": "VariableDeclaration", - "scope": 44822, - "src": "6132:14:31", + "scope": 45910, + "src": "6132:14:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3401,10 +3402,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44794, + "id": 45882, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6132:7:31", + "src": "6132:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3413,40 +3414,40 @@ "visibility": "internal" } ], - "id": 44801, + "id": 45889, "initialValue": { "arguments": [ { - "id": 44797, + "id": 45885, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44782, - "src": "6156:1:31", + "referencedDeclaration": 45870, + "src": "6156:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 44798, + "id": 45886, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44784, - "src": "6159:1:31", + "referencedDeclaration": 45872, + "src": "6159:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 44799, + "id": 45887, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44786, - "src": "6162:11:31", + "referencedDeclaration": 45874, + "src": "6162:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3468,21 +3469,21 @@ "typeString": "uint256" } ], - "id": 44796, + "id": 45884, "name": "mulDiv", "nodeType": "Identifier", "overloadedDeclarations": [ - 44779, - 44823 + 45867, + 45911 ], - "referencedDeclaration": 44779, - "src": "6149:6:31", + "referencedDeclaration": 45867, + "src": "6149:6:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 44800, + "id": 45888, "isConstant": false, "isLValue": false, "isPure": false, @@ -3491,7 +3492,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6149:25:31", + "src": "6149:25:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3499,7 +3500,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "6132:42:31" + "src": "6132:42:35" }, { "condition": { @@ -3507,30 +3508,30 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 44813, + "id": 45901, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" }, - "id": 44805, + "id": 45893, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44802, + "id": 45890, "name": "rounding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44789, - "src": "6188:8:31", + "referencedDeclaration": 45877, + "src": "6188:8:35", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" } }, @@ -3538,33 +3539,33 @@ "operator": "==", "rightExpression": { "expression": { - "id": 44803, + "id": 45891, "name": "Rounding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44572, - "src": "6200:8:31", + "referencedDeclaration": 45660, + "src": "6200:8:35", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$44572_$", + "typeIdentifier": "t_type$_t_enum$_Rounding_$45660_$", "typeString": "type(enum Math.Rounding)" } }, - "id": 44804, + "id": 45892, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "6209:2:31", + "memberLocation": "6209:2:35", "memberName": "Up", "nodeType": "MemberAccess", - "referencedDeclaration": 44570, - "src": "6200:11:31", + "referencedDeclaration": 45658, + "src": "6200:11:35", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" } }, - "src": "6188:23:31", + "src": "6188:23:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3577,7 +3578,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44812, + "id": 45900, "isConstant": false, "isLValue": false, "isPure": false, @@ -3585,36 +3586,36 @@ "leftExpression": { "arguments": [ { - "id": 44807, + "id": 45895, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44782, - "src": "6222:1:31", + "referencedDeclaration": 45870, + "src": "6222:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 44808, + "id": 45896, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44784, - "src": "6225:1:31", + "referencedDeclaration": 45872, + "src": "6225:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 44809, + "id": 45897, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44786, - "src": "6228:11:31", + "referencedDeclaration": 45874, + "src": "6228:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3636,18 +3637,18 @@ "typeString": "uint256" } ], - "id": 44806, + "id": 45894, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -16, - "src": "6215:6:31", + "src": "6215:6:35", "typeDescriptions": { "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 44810, + "id": 45898, "isConstant": false, "isLValue": false, "isPure": false, @@ -3656,7 +3657,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6215:25:31", + "src": "6215:25:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3667,54 +3668,54 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 44811, + "id": 45899, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6243:1:31", + "src": "6243:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "6215:29:31", + "src": "6215:29:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "6188:56:31", + "src": "6188:56:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 44819, + "id": 45907, "nodeType": "IfStatement", - "src": "6184:98:31", + "src": "6184:98:35", "trueBody": { - "id": 44818, + "id": 45906, "nodeType": "Block", - "src": "6246:36:31", + "src": "6246:36:35", "statements": [ { "expression": { - "id": 44816, + "id": 45904, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44814, + "id": 45902, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44795, - "src": "6260:6:31", + "referencedDeclaration": 45883, + "src": "6260:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3724,77 +3725,77 @@ "operator": "+=", "rightHandSide": { "hexValue": "31", - "id": 44815, + "id": 45903, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6270:1:31", + "src": "6270:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "6260:11:31", + "src": "6260:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44817, + "id": 45905, "nodeType": "ExpressionStatement", - "src": "6260:11:31" + "src": "6260:11:35" } ] } }, { "expression": { - "id": 44820, + "id": 45908, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44795, - "src": "6298:6:31", + "referencedDeclaration": 45883, + "src": "6298:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 44793, - "id": 44821, + "functionReturnParameters": 45881, + "id": 45909, "nodeType": "Return", - "src": "6291:13:31" + "src": "6291:13:35" } ] }, "documentation": { - "id": 44780, + "id": 45868, "nodeType": "StructuredDocumentation", - "src": "5886:121:31", + "src": "5886:121:35", "text": " @notice Calculates x * y / denominator with full precision, following the selected rounding direction." }, "implemented": true, "kind": "function", "modifiers": [], "name": "mulDiv", - "nameLocation": "6021:6:31", + "nameLocation": "6021:6:35", "parameters": { - "id": 44790, + "id": 45878, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44782, + "id": 45870, "mutability": "mutable", "name": "x", - "nameLocation": "6036:1:31", + "nameLocation": "6036:1:35", "nodeType": "VariableDeclaration", - "scope": 44823, - "src": "6028:9:31", + "scope": 45911, + "src": "6028:9:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3802,10 +3803,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44781, + "id": 45869, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6028:7:31", + "src": "6028:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3815,13 +3816,13 @@ }, { "constant": false, - "id": 44784, + "id": 45872, "mutability": "mutable", "name": "y", - "nameLocation": "6047:1:31", + "nameLocation": "6047:1:35", "nodeType": "VariableDeclaration", - "scope": 44823, - "src": "6039:9:31", + "scope": 45911, + "src": "6039:9:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3829,10 +3830,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44783, + "id": 45871, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6039:7:31", + "src": "6039:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3842,13 +3843,13 @@ }, { "constant": false, - "id": 44786, + "id": 45874, "mutability": "mutable", "name": "denominator", - "nameLocation": "6058:11:31", + "nameLocation": "6058:11:35", "nodeType": "VariableDeclaration", - "scope": 44823, - "src": "6050:19:31", + "scope": 45911, + "src": "6050:19:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3856,10 +3857,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44785, + "id": 45873, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6050:7:31", + "src": "6050:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3869,57 +3870,57 @@ }, { "constant": false, - "id": 44789, + "id": 45877, "mutability": "mutable", "name": "rounding", - "nameLocation": "6080:8:31", + "nameLocation": "6080:8:35", "nodeType": "VariableDeclaration", - "scope": 44823, - "src": "6071:17:31", + "scope": 45911, + "src": "6071:17:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" }, "typeName": { - "id": 44788, + "id": 45876, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 44787, + "id": 45875, "name": "Rounding", "nameLocations": [ - "6071:8:31" + "6071:8:35" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 44572, - "src": "6071:8:31" + "referencedDeclaration": 45660, + "src": "6071:8:35" }, - "referencedDeclaration": 44572, - "src": "6071:8:31", + "referencedDeclaration": 45660, + "src": "6071:8:35", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" } }, "visibility": "internal" } ], - "src": "6027:62:31" + "src": "6027:62:35" }, "returnParameters": { - "id": 44793, + "id": 45881, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44792, + "id": 45880, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44823, - "src": "6113:7:31", + "scope": 45911, + "src": "6113:7:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3927,10 +3928,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44791, + "id": 45879, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6113:7:31", + "src": "6113:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3939,22 +3940,22 @@ "visibility": "internal" } ], - "src": "6112:9:31" + "src": "6112:9:35" }, - "scope": 45431, + "scope": 46519, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 44935, + "id": 46023, "nodeType": "FunctionDefinition", - "src": "6530:1642:31", + "src": "6530:1642:35", "nodes": [], "body": { - "id": 44934, + "id": 46022, "nodeType": "Block", - "src": "6587:1585:31", + "src": "6587:1585:35", "nodes": [], "statements": [ { @@ -3963,18 +3964,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44833, + "id": 45921, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44831, + "id": 45919, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44826, - "src": "6601:1:31", + "referencedDeclaration": 45914, + "src": "6601:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3984,73 +3985,73 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 44832, + "id": 45920, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6606:1:31", + "src": "6606:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "6601:6:31", + "src": "6601:6:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 44837, + "id": 45925, "nodeType": "IfStatement", - "src": "6597:45:31", + "src": "6597:45:35", "trueBody": { - "id": 44836, + "id": 45924, "nodeType": "Block", - "src": "6609:33:31", + "src": "6609:33:35", "statements": [ { "expression": { "hexValue": "30", - "id": 44834, + "id": 45922, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6630:1:31", + "src": "6630:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "functionReturnParameters": 44830, - "id": 44835, + "functionReturnParameters": 45918, + "id": 45923, "nodeType": "Return", - "src": "6623:8:31" + "src": "6623:8:35" } ] } }, { "assignments": [ - 44839 + 45927 ], "declarations": [ { "constant": false, - "id": 44839, + "id": 45927, "mutability": "mutable", "name": "result", - "nameLocation": "7329:6:31", + "nameLocation": "7329:6:35", "nodeType": "VariableDeclaration", - "scope": 44934, - "src": "7321:14:31", + "scope": 46022, + "src": "7321:14:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4058,10 +4059,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44838, + "id": 45926, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7321:7:31", + "src": "7321:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4070,27 +4071,27 @@ "visibility": "internal" } ], - "id": 44848, + "id": 45936, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44847, + "id": 45935, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "31", - "id": 44840, + "id": 45928, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7338:1:31", + "src": "7338:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -4106,7 +4107,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44845, + "id": 45933, "isConstant": false, "isLValue": false, "isPure": false, @@ -4114,12 +4115,12 @@ "leftExpression": { "arguments": [ { - "id": 44842, + "id": 45930, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44826, - "src": "7349:1:31", + "referencedDeclaration": 45914, + "src": "7349:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4133,21 +4134,21 @@ "typeString": "uint256" } ], - "id": 44841, + "id": 45929, "name": "log2", "nodeType": "Identifier", "overloadedDeclarations": [ - 45103, - 45139 + 46191, + 46227 ], - "referencedDeclaration": 45103, - "src": "7344:4:31", + "referencedDeclaration": 46191, + "src": "7344:4:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, - "id": 44843, + "id": 45931, "isConstant": false, "isLValue": false, "isPure": false, @@ -4156,7 +4157,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7344:7:31", + "src": "7344:7:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4167,68 +4168,68 @@ "operator": ">>", "rightExpression": { "hexValue": "31", - "id": 44844, + "id": 45932, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7355:1:31", + "src": "7355:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "7344:12:31", + "src": "7344:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 44846, + "id": 45934, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7343:14:31", + "src": "7343:14:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7338:19:31", + "src": "7338:19:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "7321:36:31" + "src": "7321:36:35" }, { - "id": 44933, + "id": 46021, "nodeType": "UncheckedBlock", - "src": "7758:408:31", + "src": "7758:408:35", "statements": [ { "expression": { - "id": 44858, + "id": 45946, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44849, + "id": 45937, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "7782:6:31", + "referencedDeclaration": 45927, + "src": "7782:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4241,7 +4242,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44857, + "id": 45945, "isConstant": false, "isLValue": false, "isPure": false, @@ -4253,18 +4254,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44854, + "id": 45942, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44850, + "id": 45938, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "7792:6:31", + "referencedDeclaration": 45927, + "src": "7792:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4277,18 +4278,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44853, + "id": 45941, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44851, + "id": 45939, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44826, - "src": "7801:1:31", + "referencedDeclaration": 45914, + "src": "7801:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4297,38 +4298,38 @@ "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { - "id": 44852, + "id": 45940, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "7805:6:31", + "referencedDeclaration": 45927, + "src": "7805:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7801:10:31", + "src": "7801:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7792:19:31", + "src": "7792:19:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 44855, + "id": 45943, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7791:21:31", + "src": "7791:21:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4338,50 +4339,50 @@ "operator": ">>", "rightExpression": { "hexValue": "31", - "id": 44856, + "id": 45944, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7816:1:31", + "src": "7816:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "7791:26:31", + "src": "7791:26:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7782:35:31", + "src": "7782:35:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44859, + "id": 45947, "nodeType": "ExpressionStatement", - "src": "7782:35:31" + "src": "7782:35:35" }, { "expression": { - "id": 44869, + "id": 45957, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44860, + "id": 45948, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "7831:6:31", + "referencedDeclaration": 45927, + "src": "7831:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4394,7 +4395,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44868, + "id": 45956, "isConstant": false, "isLValue": false, "isPure": false, @@ -4406,18 +4407,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44865, + "id": 45953, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44861, + "id": 45949, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "7841:6:31", + "referencedDeclaration": 45927, + "src": "7841:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4430,18 +4431,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44864, + "id": 45952, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44862, + "id": 45950, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44826, - "src": "7850:1:31", + "referencedDeclaration": 45914, + "src": "7850:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4450,38 +4451,38 @@ "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { - "id": 44863, + "id": 45951, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "7854:6:31", + "referencedDeclaration": 45927, + "src": "7854:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7850:10:31", + "src": "7850:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7841:19:31", + "src": "7841:19:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 44866, + "id": 45954, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7840:21:31", + "src": "7840:21:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4491,50 +4492,50 @@ "operator": ">>", "rightExpression": { "hexValue": "31", - "id": 44867, + "id": 45955, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7865:1:31", + "src": "7865:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "7840:26:31", + "src": "7840:26:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7831:35:31", + "src": "7831:35:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44870, + "id": 45958, "nodeType": "ExpressionStatement", - "src": "7831:35:31" + "src": "7831:35:35" }, { "expression": { - "id": 44880, + "id": 45968, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44871, + "id": 45959, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "7880:6:31", + "referencedDeclaration": 45927, + "src": "7880:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4547,7 +4548,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44879, + "id": 45967, "isConstant": false, "isLValue": false, "isPure": false, @@ -4559,18 +4560,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44876, + "id": 45964, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44872, + "id": 45960, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "7890:6:31", + "referencedDeclaration": 45927, + "src": "7890:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4583,18 +4584,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44875, + "id": 45963, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44873, + "id": 45961, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44826, - "src": "7899:1:31", + "referencedDeclaration": 45914, + "src": "7899:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4603,38 +4604,38 @@ "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { - "id": 44874, + "id": 45962, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "7903:6:31", + "referencedDeclaration": 45927, + "src": "7903:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7899:10:31", + "src": "7899:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7890:19:31", + "src": "7890:19:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 44877, + "id": 45965, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7889:21:31", + "src": "7889:21:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4644,50 +4645,50 @@ "operator": ">>", "rightExpression": { "hexValue": "31", - "id": 44878, + "id": 45966, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7914:1:31", + "src": "7914:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "7889:26:31", + "src": "7889:26:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7880:35:31", + "src": "7880:35:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44881, + "id": 45969, "nodeType": "ExpressionStatement", - "src": "7880:35:31" + "src": "7880:35:35" }, { "expression": { - "id": 44891, + "id": 45979, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44882, + "id": 45970, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "7929:6:31", + "referencedDeclaration": 45927, + "src": "7929:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4700,7 +4701,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44890, + "id": 45978, "isConstant": false, "isLValue": false, "isPure": false, @@ -4712,18 +4713,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44887, + "id": 45975, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44883, + "id": 45971, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "7939:6:31", + "referencedDeclaration": 45927, + "src": "7939:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4736,18 +4737,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44886, + "id": 45974, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44884, + "id": 45972, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44826, - "src": "7948:1:31", + "referencedDeclaration": 45914, + "src": "7948:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4756,38 +4757,38 @@ "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { - "id": 44885, + "id": 45973, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "7952:6:31", + "referencedDeclaration": 45927, + "src": "7952:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7948:10:31", + "src": "7948:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7939:19:31", + "src": "7939:19:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 44888, + "id": 45976, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7938:21:31", + "src": "7938:21:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4797,50 +4798,50 @@ "operator": ">>", "rightExpression": { "hexValue": "31", - "id": 44889, + "id": 45977, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7963:1:31", + "src": "7963:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "7938:26:31", + "src": "7938:26:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7929:35:31", + "src": "7929:35:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44892, + "id": 45980, "nodeType": "ExpressionStatement", - "src": "7929:35:31" + "src": "7929:35:35" }, { "expression": { - "id": 44902, + "id": 45990, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44893, + "id": 45981, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "7978:6:31", + "referencedDeclaration": 45927, + "src": "7978:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4853,7 +4854,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44901, + "id": 45989, "isConstant": false, "isLValue": false, "isPure": false, @@ -4865,18 +4866,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44898, + "id": 45986, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44894, + "id": 45982, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "7988:6:31", + "referencedDeclaration": 45927, + "src": "7988:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4889,18 +4890,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44897, + "id": 45985, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44895, + "id": 45983, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44826, - "src": "7997:1:31", + "referencedDeclaration": 45914, + "src": "7997:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4909,38 +4910,38 @@ "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { - "id": 44896, + "id": 45984, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "8001:6:31", + "referencedDeclaration": 45927, + "src": "8001:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7997:10:31", + "src": "7997:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7988:19:31", + "src": "7988:19:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 44899, + "id": 45987, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7987:21:31", + "src": "7987:21:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4950,50 +4951,50 @@ "operator": ">>", "rightExpression": { "hexValue": "31", - "id": 44900, + "id": 45988, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8012:1:31", + "src": "8012:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "7987:26:31", + "src": "7987:26:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7978:35:31", + "src": "7978:35:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44903, + "id": 45991, "nodeType": "ExpressionStatement", - "src": "7978:35:31" + "src": "7978:35:35" }, { "expression": { - "id": 44913, + "id": 46001, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44904, + "id": 45992, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "8027:6:31", + "referencedDeclaration": 45927, + "src": "8027:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5006,7 +5007,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44912, + "id": 46000, "isConstant": false, "isLValue": false, "isPure": false, @@ -5018,18 +5019,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44909, + "id": 45997, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44905, + "id": 45993, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "8037:6:31", + "referencedDeclaration": 45927, + "src": "8037:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5042,18 +5043,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44908, + "id": 45996, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44906, + "id": 45994, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44826, - "src": "8046:1:31", + "referencedDeclaration": 45914, + "src": "8046:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5062,38 +5063,38 @@ "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { - "id": 44907, + "id": 45995, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "8050:6:31", + "referencedDeclaration": 45927, + "src": "8050:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8046:10:31", + "src": "8046:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8037:19:31", + "src": "8037:19:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 44910, + "id": 45998, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8036:21:31", + "src": "8036:21:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5103,50 +5104,50 @@ "operator": ">>", "rightExpression": { "hexValue": "31", - "id": 44911, + "id": 45999, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8061:1:31", + "src": "8061:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "8036:26:31", + "src": "8036:26:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8027:35:31", + "src": "8027:35:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44914, + "id": 46002, "nodeType": "ExpressionStatement", - "src": "8027:35:31" + "src": "8027:35:35" }, { "expression": { - "id": 44924, + "id": 46012, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44915, + "id": 46003, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "8076:6:31", + "referencedDeclaration": 45927, + "src": "8076:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5159,7 +5160,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44923, + "id": 46011, "isConstant": false, "isLValue": false, "isPure": false, @@ -5171,18 +5172,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44920, + "id": 46008, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44916, + "id": 46004, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "8086:6:31", + "referencedDeclaration": 45927, + "src": "8086:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5195,18 +5196,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44919, + "id": 46007, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44917, + "id": 46005, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44826, - "src": "8095:1:31", + "referencedDeclaration": 45914, + "src": "8095:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5215,38 +5216,38 @@ "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { - "id": 44918, + "id": 46006, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "8099:6:31", + "referencedDeclaration": 45927, + "src": "8099:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8095:10:31", + "src": "8095:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8086:19:31", + "src": "8086:19:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 44921, + "id": 46009, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8085:21:31", + "src": "8085:21:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5256,46 +5257,46 @@ "operator": ">>", "rightExpression": { "hexValue": "31", - "id": 44922, + "id": 46010, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8110:1:31", + "src": "8110:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "8085:26:31", + "src": "8085:26:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8076:35:31", + "src": "8076:35:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44925, + "id": 46013, "nodeType": "ExpressionStatement", - "src": "8076:35:31" + "src": "8076:35:35" }, { "expression": { "arguments": [ { - "id": 44927, + "id": 46015, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "8136:6:31", + "referencedDeclaration": 45927, + "src": "8136:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5306,18 +5307,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44930, + "id": 46018, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44928, + "id": 46016, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44826, - "src": "8144:1:31", + "referencedDeclaration": 45914, + "src": "8144:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5326,18 +5327,18 @@ "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { - "id": 44929, + "id": 46017, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44839, - "src": "8148:6:31", + "referencedDeclaration": 45927, + "src": "8148:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8144:10:31", + "src": "8144:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5355,18 +5356,18 @@ "typeString": "uint256" } ], - "id": 44926, + "id": 46014, "name": "min", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44608, - "src": "8132:3:31", + "referencedDeclaration": 45696, + "src": "8132:3:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 44931, + "id": 46019, "isConstant": false, "isLValue": false, "isPure": false, @@ -5375,46 +5376,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8132:23:31", + "src": "8132:23:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 44830, - "id": 44932, + "functionReturnParameters": 45918, + "id": 46020, "nodeType": "Return", - "src": "8125:30:31" + "src": "8125:30:35" } ] } ] }, "documentation": { - "id": 44824, + "id": 45912, "nodeType": "StructuredDocumentation", - "src": "6317:208:31", + "src": "6317:208:35", "text": " @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded down.\n Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11)." }, "implemented": true, "kind": "function", "modifiers": [], "name": "sqrt", - "nameLocation": "6539:4:31", + "nameLocation": "6539:4:35", "parameters": { - "id": 44827, + "id": 45915, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44826, + "id": 45914, "mutability": "mutable", "name": "a", - "nameLocation": "6552:1:31", + "nameLocation": "6552:1:35", "nodeType": "VariableDeclaration", - "scope": 44935, - "src": "6544:9:31", + "scope": 46023, + "src": "6544:9:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5422,10 +5423,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44825, + "id": 45913, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6544:7:31", + "src": "6544:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5434,21 +5435,21 @@ "visibility": "internal" } ], - "src": "6543:11:31" + "src": "6543:11:35" }, "returnParameters": { - "id": 44830, + "id": 45918, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44829, + "id": 45917, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44935, - "src": "6578:7:31", + "scope": 46023, + "src": "6578:7:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5456,10 +5457,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44828, + "id": 45916, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6578:7:31", + "src": "6578:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5468,43 +5469,43 @@ "visibility": "internal" } ], - "src": "6577:9:31" + "src": "6577:9:35" }, - "scope": 45431, + "scope": 46519, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 44971, + "id": 46059, "nodeType": "FunctionDefinition", - "src": "8272:237:31", + "src": "8272:237:35", "nodes": [], "body": { - "id": 44970, + "id": 46058, "nodeType": "Block", - "src": "8348:161:31", + "src": "8348:161:35", "nodes": [], "statements": [ { - "id": 44969, + "id": 46057, "nodeType": "UncheckedBlock", - "src": "8358:145:31", + "src": "8358:145:35", "statements": [ { "assignments": [ - 44947 + 46035 ], "declarations": [ { "constant": false, - "id": 44947, + "id": 46035, "mutability": "mutable", "name": "result", - "nameLocation": "8390:6:31", + "nameLocation": "8390:6:35", "nodeType": "VariableDeclaration", - "scope": 44969, - "src": "8382:14:31", + "scope": 46057, + "src": "8382:14:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5512,10 +5513,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44946, + "id": 46034, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8382:7:31", + "src": "8382:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5524,16 +5525,16 @@ "visibility": "internal" } ], - "id": 44951, + "id": 46039, "initialValue": { "arguments": [ { - "id": 44949, + "id": 46037, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44938, - "src": "8404:1:31", + "referencedDeclaration": 46026, + "src": "8404:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5547,21 +5548,21 @@ "typeString": "uint256" } ], - "id": 44948, + "id": 46036, "name": "sqrt", "nodeType": "Identifier", "overloadedDeclarations": [ - 44935, - 44971 + 46023, + 46059 ], - "referencedDeclaration": 44935, - "src": "8399:4:31", + "referencedDeclaration": 46023, + "src": "8399:4:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, - "id": 44950, + "id": 46038, "isConstant": false, "isLValue": false, "isPure": false, @@ -5570,7 +5571,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8399:7:31", + "src": "8399:7:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5578,7 +5579,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "8382:24:31" + "src": "8382:24:35" }, { "expression": { @@ -5586,18 +5587,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44967, + "id": 46055, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44952, + "id": 46040, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44947, - "src": "8427:6:31", + "referencedDeclaration": 46035, + "src": "8427:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5613,30 +5614,30 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 44962, + "id": 46050, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" }, - "id": 44956, + "id": 46044, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44953, + "id": 46041, "name": "rounding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44941, - "src": "8437:8:31", + "referencedDeclaration": 46029, + "src": "8437:8:35", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" } }, @@ -5644,33 +5645,33 @@ "operator": "==", "rightExpression": { "expression": { - "id": 44954, + "id": 46042, "name": "Rounding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44572, - "src": "8449:8:31", + "referencedDeclaration": 45660, + "src": "8449:8:35", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$44572_$", + "typeIdentifier": "t_type$_t_enum$_Rounding_$45660_$", "typeString": "type(enum Math.Rounding)" } }, - "id": 44955, + "id": 46043, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "8458:2:31", + "memberLocation": "8458:2:35", "memberName": "Up", "nodeType": "MemberAccess", - "referencedDeclaration": 44570, - "src": "8449:11:31", + "referencedDeclaration": 45658, + "src": "8449:11:35", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" } }, - "src": "8437:23:31", + "src": "8437:23:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5683,7 +5684,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44961, + "id": 46049, "isConstant": false, "isLValue": false, "isPure": false, @@ -5693,18 +5694,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44959, + "id": 46047, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44957, + "id": 46045, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44947, - "src": "8464:6:31", + "referencedDeclaration": 46035, + "src": "8464:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5713,18 +5714,18 @@ "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { - "id": 44958, + "id": 46046, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44947, - "src": "8473:6:31", + "referencedDeclaration": 46035, + "src": "8473:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8464:15:31", + "src": "8464:15:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5733,24 +5734,24 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 44960, + "id": 46048, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44938, - "src": "8482:1:31", + "referencedDeclaration": 46026, + "src": "8482:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8464:19:31", + "src": "8464:19:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "8437:46:31", + "src": "8437:46:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5758,37 +5759,37 @@ }, "falseExpression": { "hexValue": "30", - "id": 44964, + "id": 46052, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8490:1:31", + "src": "8490:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "id": 44965, + "id": 46053, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "8437:54:31", + "src": "8437:54:35", "trueExpression": { "hexValue": "31", - "id": 44963, + "id": 46051, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8486:1:31", + "src": "8486:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -5801,58 +5802,58 @@ } } ], - "id": 44966, + "id": 46054, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8436:56:31", + "src": "8436:56:35", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "8427:65:31", + "src": "8427:65:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 44945, - "id": 44968, + "functionReturnParameters": 46033, + "id": 46056, "nodeType": "Return", - "src": "8420:72:31" + "src": "8420:72:35" } ] } ] }, "documentation": { - "id": 44936, + "id": 46024, "nodeType": "StructuredDocumentation", - "src": "8178:89:31", + "src": "8178:89:35", "text": " @notice Calculates sqrt(a), following the selected rounding direction." }, "implemented": true, "kind": "function", "modifiers": [], "name": "sqrt", - "nameLocation": "8281:4:31", + "nameLocation": "8281:4:35", "parameters": { - "id": 44942, + "id": 46030, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44938, + "id": 46026, "mutability": "mutable", "name": "a", - "nameLocation": "8294:1:31", + "nameLocation": "8294:1:35", "nodeType": "VariableDeclaration", - "scope": 44971, - "src": "8286:9:31", + "scope": 46059, + "src": "8286:9:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5860,10 +5861,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44937, + "id": 46025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8286:7:31", + "src": "8286:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5873,57 +5874,57 @@ }, { "constant": false, - "id": 44941, + "id": 46029, "mutability": "mutable", "name": "rounding", - "nameLocation": "8306:8:31", + "nameLocation": "8306:8:35", "nodeType": "VariableDeclaration", - "scope": 44971, - "src": "8297:17:31", + "scope": 46059, + "src": "8297:17:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" }, "typeName": { - "id": 44940, + "id": 46028, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 44939, + "id": 46027, "name": "Rounding", "nameLocations": [ - "8297:8:31" + "8297:8:35" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 44572, - "src": "8297:8:31" + "referencedDeclaration": 45660, + "src": "8297:8:35" }, - "referencedDeclaration": 44572, - "src": "8297:8:31", + "referencedDeclaration": 45660, + "src": "8297:8:35", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" } }, "visibility": "internal" } ], - "src": "8285:30:31" + "src": "8285:30:35" }, "returnParameters": { - "id": 44945, + "id": 46033, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44944, + "id": 46032, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44971, - "src": "8339:7:31", + "scope": 46059, + "src": "8339:7:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5931,10 +5932,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44943, + "id": 46031, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8339:7:31", + "src": "8339:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5943,38 +5944,38 @@ "visibility": "internal" } ], - "src": "8338:9:31" + "src": "8338:9:35" }, - "scope": 45431, + "scope": 46519, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 45103, + "id": 46191, "nodeType": "FunctionDefinition", - "src": "8633:983:31", + "src": "8633:983:35", "nodes": [], "body": { - "id": 45102, + "id": 46190, "nodeType": "Block", - "src": "8694:922:31", + "src": "8694:922:35", "nodes": [], "statements": [ { "assignments": [ - 44980 + 46068 ], "declarations": [ { "constant": false, - "id": 44980, + "id": 46068, "mutability": "mutable", "name": "result", - "nameLocation": "8712:6:31", + "nameLocation": "8712:6:35", "nodeType": "VariableDeclaration", - "scope": 45102, - "src": "8704:14:31", + "scope": 46190, + "src": "8704:14:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5982,10 +5983,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44979, + "id": 46067, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8704:7:31", + "src": "8704:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5994,17 +5995,17 @@ "visibility": "internal" } ], - "id": 44982, + "id": 46070, "initialValue": { "hexValue": "30", - "id": 44981, + "id": 46069, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8721:1:31", + "src": "8721:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -6012,12 +6013,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "8704:18:31" + "src": "8704:18:35" }, { - "id": 45099, + "id": 46187, "nodeType": "UncheckedBlock", - "src": "8732:855:31", + "src": "8732:855:35", "statements": [ { "condition": { @@ -6025,7 +6026,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44987, + "id": 46075, "isConstant": false, "isLValue": false, "isPure": false, @@ -6035,18 +6036,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44985, + "id": 46073, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44983, + "id": 46071, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44974, - "src": "8760:5:31", + "referencedDeclaration": 46062, + "src": "8760:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6056,21 +6057,21 @@ "operator": ">>", "rightExpression": { "hexValue": "313238", - "id": 44984, + "id": 46072, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8769:3:31", + "src": "8769:3:35", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" }, "value": "128" }, - "src": "8760:12:31", + "src": "8760:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6080,48 +6081,48 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 44986, + "id": 46074, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8775:1:31", + "src": "8775:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "8760:16:31", + "src": "8760:16:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 44997, + "id": 46085, "nodeType": "IfStatement", - "src": "8756:99:31", + "src": "8756:99:35", "trueBody": { - "id": 44996, + "id": 46084, "nodeType": "Block", - "src": "8778:77:31", + "src": "8778:77:35", "statements": [ { "expression": { - "id": 44990, + "id": 46078, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44988, + "id": 46076, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44974, - "src": "8796:5:31", + "referencedDeclaration": 46062, + "src": "8796:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6131,44 +6132,44 @@ "operator": ">>=", "rightHandSide": { "hexValue": "313238", - "id": 44989, + "id": 46077, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8806:3:31", + "src": "8806:3:35", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" }, "value": "128" }, - "src": "8796:13:31", + "src": "8796:13:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44991, + "id": 46079, "nodeType": "ExpressionStatement", - "src": "8796:13:31" + "src": "8796:13:35" }, { "expression": { - "id": 44994, + "id": 46082, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44992, + "id": 46080, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44980, - "src": "8827:6:31", + "referencedDeclaration": 46068, + "src": "8827:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6178,29 +6179,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "313238", - "id": 44993, + "id": 46081, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8837:3:31", + "src": "8837:3:35", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" }, "value": "128" }, - "src": "8827:13:31", + "src": "8827:13:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44995, + "id": 46083, "nodeType": "ExpressionStatement", - "src": "8827:13:31" + "src": "8827:13:35" } ] } @@ -6211,7 +6212,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45002, + "id": 46090, "isConstant": false, "isLValue": false, "isPure": false, @@ -6221,18 +6222,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45000, + "id": 46088, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44998, + "id": 46086, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44974, - "src": "8872:5:31", + "referencedDeclaration": 46062, + "src": "8872:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6242,21 +6243,21 @@ "operator": ">>", "rightExpression": { "hexValue": "3634", - "id": 44999, + "id": 46087, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8881:2:31", + "src": "8881:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "8872:11:31", + "src": "8872:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6266,48 +6267,48 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 45001, + "id": 46089, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8886:1:31", + "src": "8886:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "8872:15:31", + "src": "8872:15:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45012, + "id": 46100, "nodeType": "IfStatement", - "src": "8868:96:31", + "src": "8868:96:35", "trueBody": { - "id": 45011, + "id": 46099, "nodeType": "Block", - "src": "8889:75:31", + "src": "8889:75:35", "statements": [ { "expression": { - "id": 45005, + "id": 46093, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45003, + "id": 46091, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44974, - "src": "8907:5:31", + "referencedDeclaration": 46062, + "src": "8907:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6317,44 +6318,44 @@ "operator": ">>=", "rightHandSide": { "hexValue": "3634", - "id": 45004, + "id": 46092, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8917:2:31", + "src": "8917:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "8907:12:31", + "src": "8907:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45006, + "id": 46094, "nodeType": "ExpressionStatement", - "src": "8907:12:31" + "src": "8907:12:35" }, { "expression": { - "id": 45009, + "id": 46097, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45007, + "id": 46095, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44980, - "src": "8937:6:31", + "referencedDeclaration": 46068, + "src": "8937:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6364,29 +6365,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "3634", - "id": 45008, + "id": 46096, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8947:2:31", + "src": "8947:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "8937:12:31", + "src": "8937:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45010, + "id": 46098, "nodeType": "ExpressionStatement", - "src": "8937:12:31" + "src": "8937:12:35" } ] } @@ -6397,7 +6398,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45017, + "id": 46105, "isConstant": false, "isLValue": false, "isPure": false, @@ -6407,18 +6408,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45015, + "id": 46103, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45013, + "id": 46101, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44974, - "src": "8981:5:31", + "referencedDeclaration": 46062, + "src": "8981:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6428,21 +6429,21 @@ "operator": ">>", "rightExpression": { "hexValue": "3332", - "id": 45014, + "id": 46102, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8990:2:31", + "src": "8990:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, - "src": "8981:11:31", + "src": "8981:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6452,48 +6453,48 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 45016, + "id": 46104, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8995:1:31", + "src": "8995:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "8981:15:31", + "src": "8981:15:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45027, + "id": 46115, "nodeType": "IfStatement", - "src": "8977:96:31", + "src": "8977:96:35", "trueBody": { - "id": 45026, + "id": 46114, "nodeType": "Block", - "src": "8998:75:31", + "src": "8998:75:35", "statements": [ { "expression": { - "id": 45020, + "id": 46108, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45018, + "id": 46106, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44974, - "src": "9016:5:31", + "referencedDeclaration": 46062, + "src": "9016:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6503,44 +6504,44 @@ "operator": ">>=", "rightHandSide": { "hexValue": "3332", - "id": 45019, + "id": 46107, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9026:2:31", + "src": "9026:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, - "src": "9016:12:31", + "src": "9016:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45021, + "id": 46109, "nodeType": "ExpressionStatement", - "src": "9016:12:31" + "src": "9016:12:35" }, { "expression": { - "id": 45024, + "id": 46112, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45022, + "id": 46110, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44980, - "src": "9046:6:31", + "referencedDeclaration": 46068, + "src": "9046:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6550,29 +6551,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "3332", - "id": 45023, + "id": 46111, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9056:2:31", + "src": "9056:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, - "src": "9046:12:31", + "src": "9046:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45025, + "id": 46113, "nodeType": "ExpressionStatement", - "src": "9046:12:31" + "src": "9046:12:35" } ] } @@ -6583,7 +6584,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45032, + "id": 46120, "isConstant": false, "isLValue": false, "isPure": false, @@ -6593,18 +6594,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45030, + "id": 46118, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45028, + "id": 46116, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44974, - "src": "9090:5:31", + "referencedDeclaration": 46062, + "src": "9090:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6614,21 +6615,21 @@ "operator": ">>", "rightExpression": { "hexValue": "3136", - "id": 45029, + "id": 46117, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9099:2:31", + "src": "9099:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, - "src": "9090:11:31", + "src": "9090:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6638,48 +6639,48 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 45031, + "id": 46119, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9104:1:31", + "src": "9104:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "9090:15:31", + "src": "9090:15:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45042, + "id": 46130, "nodeType": "IfStatement", - "src": "9086:96:31", + "src": "9086:96:35", "trueBody": { - "id": 45041, + "id": 46129, "nodeType": "Block", - "src": "9107:75:31", + "src": "9107:75:35", "statements": [ { "expression": { - "id": 45035, + "id": 46123, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45033, + "id": 46121, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44974, - "src": "9125:5:31", + "referencedDeclaration": 46062, + "src": "9125:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6689,44 +6690,44 @@ "operator": ">>=", "rightHandSide": { "hexValue": "3136", - "id": 45034, + "id": 46122, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9135:2:31", + "src": "9135:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, - "src": "9125:12:31", + "src": "9125:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45036, + "id": 46124, "nodeType": "ExpressionStatement", - "src": "9125:12:31" + "src": "9125:12:35" }, { "expression": { - "id": 45039, + "id": 46127, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45037, + "id": 46125, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44980, - "src": "9155:6:31", + "referencedDeclaration": 46068, + "src": "9155:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6736,29 +6737,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "3136", - "id": 45038, + "id": 46126, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9165:2:31", + "src": "9165:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, - "src": "9155:12:31", + "src": "9155:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45040, + "id": 46128, "nodeType": "ExpressionStatement", - "src": "9155:12:31" + "src": "9155:12:35" } ] } @@ -6769,7 +6770,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45047, + "id": 46135, "isConstant": false, "isLValue": false, "isPure": false, @@ -6779,18 +6780,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45045, + "id": 46133, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45043, + "id": 46131, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44974, - "src": "9199:5:31", + "referencedDeclaration": 46062, + "src": "9199:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6800,21 +6801,21 @@ "operator": ">>", "rightExpression": { "hexValue": "38", - "id": 45044, + "id": 46132, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9208:1:31", + "src": "9208:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, - "src": "9199:10:31", + "src": "9199:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6824,48 +6825,48 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 45046, + "id": 46134, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9212:1:31", + "src": "9212:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "9199:14:31", + "src": "9199:14:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45057, + "id": 46145, "nodeType": "IfStatement", - "src": "9195:93:31", + "src": "9195:93:35", "trueBody": { - "id": 45056, + "id": 46144, "nodeType": "Block", - "src": "9215:73:31", + "src": "9215:73:35", "statements": [ { "expression": { - "id": 45050, + "id": 46138, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45048, + "id": 46136, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44974, - "src": "9233:5:31", + "referencedDeclaration": 46062, + "src": "9233:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6875,44 +6876,44 @@ "operator": ">>=", "rightHandSide": { "hexValue": "38", - "id": 45049, + "id": 46137, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9243:1:31", + "src": "9243:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, - "src": "9233:11:31", + "src": "9233:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45051, + "id": 46139, "nodeType": "ExpressionStatement", - "src": "9233:11:31" + "src": "9233:11:35" }, { "expression": { - "id": 45054, + "id": 46142, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45052, + "id": 46140, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44980, - "src": "9262:6:31", + "referencedDeclaration": 46068, + "src": "9262:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6922,29 +6923,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "38", - "id": 45053, + "id": 46141, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9272:1:31", + "src": "9272:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, - "src": "9262:11:31", + "src": "9262:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45055, + "id": 46143, "nodeType": "ExpressionStatement", - "src": "9262:11:31" + "src": "9262:11:35" } ] } @@ -6955,7 +6956,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45062, + "id": 46150, "isConstant": false, "isLValue": false, "isPure": false, @@ -6965,18 +6966,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45060, + "id": 46148, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45058, + "id": 46146, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44974, - "src": "9305:5:31", + "referencedDeclaration": 46062, + "src": "9305:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6986,21 +6987,21 @@ "operator": ">>", "rightExpression": { "hexValue": "34", - "id": 45059, + "id": 46147, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9314:1:31", + "src": "9314:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, - "src": "9305:10:31", + "src": "9305:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7010,48 +7011,48 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 45061, + "id": 46149, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9318:1:31", + "src": "9318:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "9305:14:31", + "src": "9305:14:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45072, + "id": 46160, "nodeType": "IfStatement", - "src": "9301:93:31", + "src": "9301:93:35", "trueBody": { - "id": 45071, + "id": 46159, "nodeType": "Block", - "src": "9321:73:31", + "src": "9321:73:35", "statements": [ { "expression": { - "id": 45065, + "id": 46153, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45063, + "id": 46151, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44974, - "src": "9339:5:31", + "referencedDeclaration": 46062, + "src": "9339:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7061,44 +7062,44 @@ "operator": ">>=", "rightHandSide": { "hexValue": "34", - "id": 45064, + "id": 46152, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9349:1:31", + "src": "9349:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, - "src": "9339:11:31", + "src": "9339:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45066, + "id": 46154, "nodeType": "ExpressionStatement", - "src": "9339:11:31" + "src": "9339:11:35" }, { "expression": { - "id": 45069, + "id": 46157, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45067, + "id": 46155, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44980, - "src": "9368:6:31", + "referencedDeclaration": 46068, + "src": "9368:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7108,29 +7109,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "34", - "id": 45068, + "id": 46156, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9378:1:31", + "src": "9378:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, - "src": "9368:11:31", + "src": "9368:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45070, + "id": 46158, "nodeType": "ExpressionStatement", - "src": "9368:11:31" + "src": "9368:11:35" } ] } @@ -7141,7 +7142,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45077, + "id": 46165, "isConstant": false, "isLValue": false, "isPure": false, @@ -7151,18 +7152,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45075, + "id": 46163, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45073, + "id": 46161, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44974, - "src": "9411:5:31", + "referencedDeclaration": 46062, + "src": "9411:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7172,21 +7173,21 @@ "operator": ">>", "rightExpression": { "hexValue": "32", - "id": 45074, + "id": 46162, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9420:1:31", + "src": "9420:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "9411:10:31", + "src": "9411:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7196,48 +7197,48 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 45076, + "id": 46164, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9424:1:31", + "src": "9424:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "9411:14:31", + "src": "9411:14:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45087, + "id": 46175, "nodeType": "IfStatement", - "src": "9407:93:31", + "src": "9407:93:35", "trueBody": { - "id": 45086, + "id": 46174, "nodeType": "Block", - "src": "9427:73:31", + "src": "9427:73:35", "statements": [ { "expression": { - "id": 45080, + "id": 46168, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45078, + "id": 46166, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44974, - "src": "9445:5:31", + "referencedDeclaration": 46062, + "src": "9445:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7247,44 +7248,44 @@ "operator": ">>=", "rightHandSide": { "hexValue": "32", - "id": 45079, + "id": 46167, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9455:1:31", + "src": "9455:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "9445:11:31", + "src": "9445:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45081, + "id": 46169, "nodeType": "ExpressionStatement", - "src": "9445:11:31" + "src": "9445:11:35" }, { "expression": { - "id": 45084, + "id": 46172, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45082, + "id": 46170, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44980, - "src": "9474:6:31", + "referencedDeclaration": 46068, + "src": "9474:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7294,29 +7295,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "32", - "id": 45083, + "id": 46171, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9484:1:31", + "src": "9484:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "9474:11:31", + "src": "9474:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45085, + "id": 46173, "nodeType": "ExpressionStatement", - "src": "9474:11:31" + "src": "9474:11:35" } ] } @@ -7327,7 +7328,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45092, + "id": 46180, "isConstant": false, "isLValue": false, "isPure": false, @@ -7337,18 +7338,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45090, + "id": 46178, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45088, + "id": 46176, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44974, - "src": "9517:5:31", + "referencedDeclaration": 46062, + "src": "9517:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7358,21 +7359,21 @@ "operator": ">>", "rightExpression": { "hexValue": "31", - "id": 45089, + "id": 46177, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9526:1:31", + "src": "9526:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "9517:10:31", + "src": "9517:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7382,48 +7383,48 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 45091, + "id": 46179, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9530:1:31", + "src": "9530:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "9517:14:31", + "src": "9517:14:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45098, + "id": 46186, "nodeType": "IfStatement", - "src": "9513:64:31", + "src": "9513:64:35", "trueBody": { - "id": 45097, + "id": 46185, "nodeType": "Block", - "src": "9533:44:31", + "src": "9533:44:35", "statements": [ { "expression": { - "id": 45095, + "id": 46183, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45093, + "id": 46181, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44980, - "src": "9551:6:31", + "referencedDeclaration": 46068, + "src": "9551:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7433,29 +7434,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "31", - "id": 45094, + "id": 46182, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9561:1:31", + "src": "9561:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "9551:11:31", + "src": "9551:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45096, + "id": 46184, "nodeType": "ExpressionStatement", - "src": "9551:11:31" + "src": "9551:11:35" } ] } @@ -7464,48 +7465,48 @@ }, { "expression": { - "id": 45100, + "id": 46188, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44980, - "src": "9603:6:31", + "referencedDeclaration": 46068, + "src": "9603:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 44978, - "id": 45101, + "functionReturnParameters": 46066, + "id": 46189, "nodeType": "Return", - "src": "9596:13:31" + "src": "9596:13:35" } ] }, "documentation": { - "id": 44972, + "id": 46060, "nodeType": "StructuredDocumentation", - "src": "8515:113:31", + "src": "8515:113:35", "text": " @dev Return the log in base 2, rounded down, of a positive value.\n Returns 0 if given 0." }, "implemented": true, "kind": "function", "modifiers": [], "name": "log2", - "nameLocation": "8642:4:31", + "nameLocation": "8642:4:35", "parameters": { - "id": 44975, + "id": 46063, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44974, + "id": 46062, "mutability": "mutable", "name": "value", - "nameLocation": "8655:5:31", + "nameLocation": "8655:5:35", "nodeType": "VariableDeclaration", - "scope": 45103, - "src": "8647:13:31", + "scope": 46191, + "src": "8647:13:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7513,10 +7514,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44973, + "id": 46061, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8647:7:31", + "src": "8647:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7525,21 +7526,21 @@ "visibility": "internal" } ], - "src": "8646:15:31" + "src": "8646:15:35" }, "returnParameters": { - "id": 44978, + "id": 46066, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44977, + "id": 46065, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 45103, - "src": "8685:7:31", + "scope": 46191, + "src": "8685:7:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7547,10 +7548,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44976, + "id": 46064, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8685:7:31", + "src": "8685:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7559,43 +7560,43 @@ "visibility": "internal" } ], - "src": "8684:9:31" + "src": "8684:9:35" }, - "scope": 45431, + "scope": 46519, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 45139, + "id": 46227, "nodeType": "FunctionDefinition", - "src": "9769:245:31", + "src": "9769:245:35", "nodes": [], "body": { - "id": 45138, + "id": 46226, "nodeType": "Block", - "src": "9849:165:31", + "src": "9849:165:35", "nodes": [], "statements": [ { - "id": 45137, + "id": 46225, "nodeType": "UncheckedBlock", - "src": "9859:149:31", + "src": "9859:149:35", "statements": [ { "assignments": [ - 45115 + 46203 ], "declarations": [ { "constant": false, - "id": 45115, + "id": 46203, "mutability": "mutable", "name": "result", - "nameLocation": "9891:6:31", + "nameLocation": "9891:6:35", "nodeType": "VariableDeclaration", - "scope": 45137, - "src": "9883:14:31", + "scope": 46225, + "src": "9883:14:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7603,10 +7604,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45114, + "id": 46202, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9883:7:31", + "src": "9883:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7615,16 +7616,16 @@ "visibility": "internal" } ], - "id": 45119, + "id": 46207, "initialValue": { "arguments": [ { - "id": 45117, + "id": 46205, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45106, - "src": "9905:5:31", + "referencedDeclaration": 46194, + "src": "9905:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7638,21 +7639,21 @@ "typeString": "uint256" } ], - "id": 45116, + "id": 46204, "name": "log2", "nodeType": "Identifier", "overloadedDeclarations": [ - 45103, - 45139 + 46191, + 46227 ], - "referencedDeclaration": 45103, - "src": "9900:4:31", + "referencedDeclaration": 46191, + "src": "9900:4:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, - "id": 45118, + "id": 46206, "isConstant": false, "isLValue": false, "isPure": false, @@ -7661,7 +7662,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9900:11:31", + "src": "9900:11:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7669,7 +7670,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "9883:28:31" + "src": "9883:28:35" }, { "expression": { @@ -7677,18 +7678,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45135, + "id": 46223, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45120, + "id": 46208, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45115, - "src": "9932:6:31", + "referencedDeclaration": 46203, + "src": "9932:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7704,30 +7705,30 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 45130, + "id": 46218, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" }, - "id": 45124, + "id": 46212, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45121, + "id": 46209, "name": "rounding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45109, - "src": "9942:8:31", + "referencedDeclaration": 46197, + "src": "9942:8:35", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" } }, @@ -7735,33 +7736,33 @@ "operator": "==", "rightExpression": { "expression": { - "id": 45122, + "id": 46210, "name": "Rounding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44572, - "src": "9954:8:31", + "referencedDeclaration": 45660, + "src": "9954:8:35", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$44572_$", + "typeIdentifier": "t_type$_t_enum$_Rounding_$45660_$", "typeString": "type(enum Math.Rounding)" } }, - "id": 45123, + "id": 46211, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "9963:2:31", + "memberLocation": "9963:2:35", "memberName": "Up", "nodeType": "MemberAccess", - "referencedDeclaration": 44570, - "src": "9954:11:31", + "referencedDeclaration": 45658, + "src": "9954:11:35", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" } }, - "src": "9942:23:31", + "src": "9942:23:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7774,7 +7775,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45129, + "id": 46217, "isConstant": false, "isLValue": false, "isPure": false, @@ -7784,21 +7785,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45127, + "id": 46215, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "31", - "id": 45125, + "id": 46213, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9969:1:31", + "src": "9969:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -7808,18 +7809,18 @@ "nodeType": "BinaryOperation", "operator": "<<", "rightExpression": { - "id": 45126, + "id": 46214, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45115, - "src": "9974:6:31", + "referencedDeclaration": 46203, + "src": "9974:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9969:11:31", + "src": "9969:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7828,24 +7829,24 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 45128, + "id": 46216, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45106, - "src": "9983:5:31", + "referencedDeclaration": 46194, + "src": "9983:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9969:19:31", + "src": "9969:19:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "9942:46:31", + "src": "9942:46:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7853,37 +7854,37 @@ }, "falseExpression": { "hexValue": "30", - "id": 45132, + "id": 46220, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9995:1:31", + "src": "9995:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "id": 45133, + "id": 46221, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "9942:54:31", + "src": "9942:54:35", "trueExpression": { "hexValue": "31", - "id": 45131, + "id": 46219, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9991:1:31", + "src": "9991:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -7896,58 +7897,58 @@ } } ], - "id": 45134, + "id": 46222, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "9941:56:31", + "src": "9941:56:35", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "9932:65:31", + "src": "9932:65:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 45113, - "id": 45136, + "functionReturnParameters": 46201, + "id": 46224, "nodeType": "Return", - "src": "9925:72:31" + "src": "9925:72:35" } ] } ] }, "documentation": { - "id": 45104, + "id": 46192, "nodeType": "StructuredDocumentation", - "src": "9622:142:31", + "src": "9622:142:35", "text": " @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." }, "implemented": true, "kind": "function", "modifiers": [], "name": "log2", - "nameLocation": "9778:4:31", + "nameLocation": "9778:4:35", "parameters": { - "id": 45110, + "id": 46198, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45106, + "id": 46194, "mutability": "mutable", "name": "value", - "nameLocation": "9791:5:31", + "nameLocation": "9791:5:35", "nodeType": "VariableDeclaration", - "scope": 45139, - "src": "9783:13:31", + "scope": 46227, + "src": "9783:13:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7955,10 +7956,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45105, + "id": 46193, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9783:7:31", + "src": "9783:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7968,57 +7969,57 @@ }, { "constant": false, - "id": 45109, + "id": 46197, "mutability": "mutable", "name": "rounding", - "nameLocation": "9807:8:31", + "nameLocation": "9807:8:35", "nodeType": "VariableDeclaration", - "scope": 45139, - "src": "9798:17:31", + "scope": 46227, + "src": "9798:17:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" }, "typeName": { - "id": 45108, + "id": 46196, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 45107, + "id": 46195, "name": "Rounding", "nameLocations": [ - "9798:8:31" + "9798:8:35" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 44572, - "src": "9798:8:31" + "referencedDeclaration": 45660, + "src": "9798:8:35" }, - "referencedDeclaration": 44572, - "src": "9798:8:31", + "referencedDeclaration": 45660, + "src": "9798:8:35", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" } }, "visibility": "internal" } ], - "src": "9782:34:31" + "src": "9782:34:35" }, "returnParameters": { - "id": 45113, + "id": 46201, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45112, + "id": 46200, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 45139, - "src": "9840:7:31", + "scope": 46227, + "src": "9840:7:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8026,10 +8027,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45111, + "id": 46199, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9840:7:31", + "src": "9840:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8038,38 +8039,38 @@ "visibility": "internal" } ], - "src": "9839:9:31" + "src": "9839:9:35" }, - "scope": 45431, + "scope": 46519, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 45268, + "id": 46356, "nodeType": "FunctionDefinition", - "src": "10139:916:31", + "src": "10139:916:35", "nodes": [], "body": { - "id": 45267, + "id": 46355, "nodeType": "Block", - "src": "10201:854:31", + "src": "10201:854:35", "nodes": [], "statements": [ { "assignments": [ - 45148 + 46236 ], "declarations": [ { "constant": false, - "id": 45148, + "id": 46236, "mutability": "mutable", "name": "result", - "nameLocation": "10219:6:31", + "nameLocation": "10219:6:35", "nodeType": "VariableDeclaration", - "scope": 45267, - "src": "10211:14:31", + "scope": 46355, + "src": "10211:14:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8077,10 +8078,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45147, + "id": 46235, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10211:7:31", + "src": "10211:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8089,17 +8090,17 @@ "visibility": "internal" } ], - "id": 45150, + "id": 46238, "initialValue": { "hexValue": "30", - "id": 45149, + "id": 46237, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10228:1:31", + "src": "10228:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -8107,12 +8108,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "10211:18:31" + "src": "10211:18:35" }, { - "id": 45264, + "id": 46352, "nodeType": "UncheckedBlock", - "src": "10239:787:31", + "src": "10239:787:35", "statements": [ { "condition": { @@ -8120,18 +8121,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45155, + "id": 46243, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45151, + "id": 46239, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45142, - "src": "10267:5:31", + "referencedDeclaration": 46230, + "src": "10267:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8144,21 +8145,21 @@ "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", "typeString": "int_const 1000...(57 digits omitted)...0000" }, - "id": 45154, + "id": 46242, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", - "id": 45152, + "id": 46240, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10276:2:31", + "src": "10276:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -8169,54 +8170,54 @@ "operator": "**", "rightExpression": { "hexValue": "3634", - "id": 45153, + "id": 46241, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10282:2:31", + "src": "10282:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "10276:8:31", + "src": "10276:8:35", "typeDescriptions": { "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", "typeString": "int_const 1000...(57 digits omitted)...0000" } }, - "src": "10267:17:31", + "src": "10267:17:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45167, + "id": 46255, "nodeType": "IfStatement", - "src": "10263:103:31", + "src": "10263:103:35", "trueBody": { - "id": 45166, + "id": 46254, "nodeType": "Block", - "src": "10286:80:31", + "src": "10286:80:35", "statements": [ { "expression": { - "id": 45160, + "id": 46248, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45156, + "id": 46244, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45142, - "src": "10304:5:31", + "referencedDeclaration": 46230, + "src": "10304:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8229,21 +8230,21 @@ "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", "typeString": "int_const 1000...(57 digits omitted)...0000" }, - "id": 45159, + "id": 46247, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", - "id": 45157, + "id": 46245, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10313:2:31", + "src": "10313:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -8254,50 +8255,50 @@ "operator": "**", "rightExpression": { "hexValue": "3634", - "id": 45158, + "id": 46246, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10319:2:31", + "src": "10319:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "10313:8:31", + "src": "10313:8:35", "typeDescriptions": { "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", "typeString": "int_const 1000...(57 digits omitted)...0000" } }, - "src": "10304:17:31", + "src": "10304:17:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45161, + "id": 46249, "nodeType": "ExpressionStatement", - "src": "10304:17:31" + "src": "10304:17:35" }, { "expression": { - "id": 45164, + "id": 46252, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45162, + "id": 46250, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45148, - "src": "10339:6:31", + "referencedDeclaration": 46236, + "src": "10339:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8307,29 +8308,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "3634", - "id": 45163, + "id": 46251, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10349:2:31", + "src": "10349:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "10339:12:31", + "src": "10339:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45165, + "id": 46253, "nodeType": "ExpressionStatement", - "src": "10339:12:31" + "src": "10339:12:35" } ] } @@ -8340,18 +8341,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45172, + "id": 46260, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45168, + "id": 46256, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45142, - "src": "10383:5:31", + "referencedDeclaration": 46230, + "src": "10383:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8364,21 +8365,21 @@ "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", "typeString": "int_const 1000...(25 digits omitted)...0000" }, - "id": 45171, + "id": 46259, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", - "id": 45169, + "id": 46257, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10392:2:31", + "src": "10392:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -8389,54 +8390,54 @@ "operator": "**", "rightExpression": { "hexValue": "3332", - "id": 45170, + "id": 46258, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10398:2:31", + "src": "10398:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, - "src": "10392:8:31", + "src": "10392:8:35", "typeDescriptions": { "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", "typeString": "int_const 1000...(25 digits omitted)...0000" } }, - "src": "10383:17:31", + "src": "10383:17:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45184, + "id": 46272, "nodeType": "IfStatement", - "src": "10379:103:31", + "src": "10379:103:35", "trueBody": { - "id": 45183, + "id": 46271, "nodeType": "Block", - "src": "10402:80:31", + "src": "10402:80:35", "statements": [ { "expression": { - "id": 45177, + "id": 46265, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45173, + "id": 46261, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45142, - "src": "10420:5:31", + "referencedDeclaration": 46230, + "src": "10420:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8449,21 +8450,21 @@ "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", "typeString": "int_const 1000...(25 digits omitted)...0000" }, - "id": 45176, + "id": 46264, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", - "id": 45174, + "id": 46262, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10429:2:31", + "src": "10429:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -8474,50 +8475,50 @@ "operator": "**", "rightExpression": { "hexValue": "3332", - "id": 45175, + "id": 46263, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10435:2:31", + "src": "10435:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, - "src": "10429:8:31", + "src": "10429:8:35", "typeDescriptions": { "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", "typeString": "int_const 1000...(25 digits omitted)...0000" } }, - "src": "10420:17:31", + "src": "10420:17:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45178, + "id": 46266, "nodeType": "ExpressionStatement", - "src": "10420:17:31" + "src": "10420:17:35" }, { "expression": { - "id": 45181, + "id": 46269, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45179, + "id": 46267, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45148, - "src": "10455:6:31", + "referencedDeclaration": 46236, + "src": "10455:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8527,29 +8528,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "3332", - "id": 45180, + "id": 46268, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10465:2:31", + "src": "10465:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, - "src": "10455:12:31", + "src": "10455:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45182, + "id": 46270, "nodeType": "ExpressionStatement", - "src": "10455:12:31" + "src": "10455:12:35" } ] } @@ -8560,18 +8561,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45189, + "id": 46277, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45185, + "id": 46273, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45142, - "src": "10499:5:31", + "referencedDeclaration": 46230, + "src": "10499:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8584,21 +8585,21 @@ "typeIdentifier": "t_rational_10000000000000000_by_1", "typeString": "int_const 10000000000000000" }, - "id": 45188, + "id": 46276, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", - "id": 45186, + "id": 46274, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10508:2:31", + "src": "10508:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -8609,54 +8610,54 @@ "operator": "**", "rightExpression": { "hexValue": "3136", - "id": 45187, + "id": 46275, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10514:2:31", + "src": "10514:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, - "src": "10508:8:31", + "src": "10508:8:35", "typeDescriptions": { "typeIdentifier": "t_rational_10000000000000000_by_1", "typeString": "int_const 10000000000000000" } }, - "src": "10499:17:31", + "src": "10499:17:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45201, + "id": 46289, "nodeType": "IfStatement", - "src": "10495:103:31", + "src": "10495:103:35", "trueBody": { - "id": 45200, + "id": 46288, "nodeType": "Block", - "src": "10518:80:31", + "src": "10518:80:35", "statements": [ { "expression": { - "id": 45194, + "id": 46282, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45190, + "id": 46278, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45142, - "src": "10536:5:31", + "referencedDeclaration": 46230, + "src": "10536:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8669,21 +8670,21 @@ "typeIdentifier": "t_rational_10000000000000000_by_1", "typeString": "int_const 10000000000000000" }, - "id": 45193, + "id": 46281, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", - "id": 45191, + "id": 46279, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10545:2:31", + "src": "10545:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -8694,50 +8695,50 @@ "operator": "**", "rightExpression": { "hexValue": "3136", - "id": 45192, + "id": 46280, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10551:2:31", + "src": "10551:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, - "src": "10545:8:31", + "src": "10545:8:35", "typeDescriptions": { "typeIdentifier": "t_rational_10000000000000000_by_1", "typeString": "int_const 10000000000000000" } }, - "src": "10536:17:31", + "src": "10536:17:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45195, + "id": 46283, "nodeType": "ExpressionStatement", - "src": "10536:17:31" + "src": "10536:17:35" }, { "expression": { - "id": 45198, + "id": 46286, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45196, + "id": 46284, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45148, - "src": "10571:6:31", + "referencedDeclaration": 46236, + "src": "10571:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8747,29 +8748,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "3136", - "id": 45197, + "id": 46285, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10581:2:31", + "src": "10581:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, - "src": "10571:12:31", + "src": "10571:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45199, + "id": 46287, "nodeType": "ExpressionStatement", - "src": "10571:12:31" + "src": "10571:12:35" } ] } @@ -8780,18 +8781,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45206, + "id": 46294, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45202, + "id": 46290, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45142, - "src": "10615:5:31", + "referencedDeclaration": 46230, + "src": "10615:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8804,21 +8805,21 @@ "typeIdentifier": "t_rational_100000000_by_1", "typeString": "int_const 100000000" }, - "id": 45205, + "id": 46293, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", - "id": 45203, + "id": 46291, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10624:2:31", + "src": "10624:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -8829,54 +8830,54 @@ "operator": "**", "rightExpression": { "hexValue": "38", - "id": 45204, + "id": 46292, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10630:1:31", + "src": "10630:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, - "src": "10624:7:31", + "src": "10624:7:35", "typeDescriptions": { "typeIdentifier": "t_rational_100000000_by_1", "typeString": "int_const 100000000" } }, - "src": "10615:16:31", + "src": "10615:16:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45218, + "id": 46306, "nodeType": "IfStatement", - "src": "10611:100:31", + "src": "10611:100:35", "trueBody": { - "id": 45217, + "id": 46305, "nodeType": "Block", - "src": "10633:78:31", + "src": "10633:78:35", "statements": [ { "expression": { - "id": 45211, + "id": 46299, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45207, + "id": 46295, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45142, - "src": "10651:5:31", + "referencedDeclaration": 46230, + "src": "10651:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8889,21 +8890,21 @@ "typeIdentifier": "t_rational_100000000_by_1", "typeString": "int_const 100000000" }, - "id": 45210, + "id": 46298, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", - "id": 45208, + "id": 46296, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10660:2:31", + "src": "10660:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -8914,50 +8915,50 @@ "operator": "**", "rightExpression": { "hexValue": "38", - "id": 45209, + "id": 46297, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10666:1:31", + "src": "10666:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, - "src": "10660:7:31", + "src": "10660:7:35", "typeDescriptions": { "typeIdentifier": "t_rational_100000000_by_1", "typeString": "int_const 100000000" } }, - "src": "10651:16:31", + "src": "10651:16:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45212, + "id": 46300, "nodeType": "ExpressionStatement", - "src": "10651:16:31" + "src": "10651:16:35" }, { "expression": { - "id": 45215, + "id": 46303, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45213, + "id": 46301, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45148, - "src": "10685:6:31", + "referencedDeclaration": 46236, + "src": "10685:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8967,29 +8968,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "38", - "id": 45214, + "id": 46302, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10695:1:31", + "src": "10695:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, - "src": "10685:11:31", + "src": "10685:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45216, + "id": 46304, "nodeType": "ExpressionStatement", - "src": "10685:11:31" + "src": "10685:11:35" } ] } @@ -9000,18 +9001,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45223, + "id": 46311, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45219, + "id": 46307, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45142, - "src": "10728:5:31", + "referencedDeclaration": 46230, + "src": "10728:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9024,21 +9025,21 @@ "typeIdentifier": "t_rational_10000_by_1", "typeString": "int_const 10000" }, - "id": 45222, + "id": 46310, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", - "id": 45220, + "id": 46308, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10737:2:31", + "src": "10737:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -9049,54 +9050,54 @@ "operator": "**", "rightExpression": { "hexValue": "34", - "id": 45221, + "id": 46309, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10743:1:31", + "src": "10743:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, - "src": "10737:7:31", + "src": "10737:7:35", "typeDescriptions": { "typeIdentifier": "t_rational_10000_by_1", "typeString": "int_const 10000" } }, - "src": "10728:16:31", + "src": "10728:16:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45235, + "id": 46323, "nodeType": "IfStatement", - "src": "10724:100:31", + "src": "10724:100:35", "trueBody": { - "id": 45234, + "id": 46322, "nodeType": "Block", - "src": "10746:78:31", + "src": "10746:78:35", "statements": [ { "expression": { - "id": 45228, + "id": 46316, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45224, + "id": 46312, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45142, - "src": "10764:5:31", + "referencedDeclaration": 46230, + "src": "10764:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9109,21 +9110,21 @@ "typeIdentifier": "t_rational_10000_by_1", "typeString": "int_const 10000" }, - "id": 45227, + "id": 46315, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", - "id": 45225, + "id": 46313, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10773:2:31", + "src": "10773:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -9134,50 +9135,50 @@ "operator": "**", "rightExpression": { "hexValue": "34", - "id": 45226, + "id": 46314, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10779:1:31", + "src": "10779:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, - "src": "10773:7:31", + "src": "10773:7:35", "typeDescriptions": { "typeIdentifier": "t_rational_10000_by_1", "typeString": "int_const 10000" } }, - "src": "10764:16:31", + "src": "10764:16:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45229, + "id": 46317, "nodeType": "ExpressionStatement", - "src": "10764:16:31" + "src": "10764:16:35" }, { "expression": { - "id": 45232, + "id": 46320, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45230, + "id": 46318, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45148, - "src": "10798:6:31", + "referencedDeclaration": 46236, + "src": "10798:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9187,29 +9188,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "34", - "id": 45231, + "id": 46319, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10808:1:31", + "src": "10808:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, - "src": "10798:11:31", + "src": "10798:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45233, + "id": 46321, "nodeType": "ExpressionStatement", - "src": "10798:11:31" + "src": "10798:11:35" } ] } @@ -9220,18 +9221,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45240, + "id": 46328, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45236, + "id": 46324, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45142, - "src": "10841:5:31", + "referencedDeclaration": 46230, + "src": "10841:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9244,21 +9245,21 @@ "typeIdentifier": "t_rational_100_by_1", "typeString": "int_const 100" }, - "id": 45239, + "id": 46327, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", - "id": 45237, + "id": 46325, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10850:2:31", + "src": "10850:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -9269,54 +9270,54 @@ "operator": "**", "rightExpression": { "hexValue": "32", - "id": 45238, + "id": 46326, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10856:1:31", + "src": "10856:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "10850:7:31", + "src": "10850:7:35", "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", "typeString": "int_const 100" } }, - "src": "10841:16:31", + "src": "10841:16:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45252, + "id": 46340, "nodeType": "IfStatement", - "src": "10837:100:31", + "src": "10837:100:35", "trueBody": { - "id": 45251, + "id": 46339, "nodeType": "Block", - "src": "10859:78:31", + "src": "10859:78:35", "statements": [ { "expression": { - "id": 45245, + "id": 46333, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45241, + "id": 46329, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45142, - "src": "10877:5:31", + "referencedDeclaration": 46230, + "src": "10877:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9329,21 +9330,21 @@ "typeIdentifier": "t_rational_100_by_1", "typeString": "int_const 100" }, - "id": 45244, + "id": 46332, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", - "id": 45242, + "id": 46330, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10886:2:31", + "src": "10886:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -9354,50 +9355,50 @@ "operator": "**", "rightExpression": { "hexValue": "32", - "id": 45243, + "id": 46331, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10892:1:31", + "src": "10892:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "10886:7:31", + "src": "10886:7:35", "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", "typeString": "int_const 100" } }, - "src": "10877:16:31", + "src": "10877:16:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45246, + "id": 46334, "nodeType": "ExpressionStatement", - "src": "10877:16:31" + "src": "10877:16:35" }, { "expression": { - "id": 45249, + "id": 46337, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45247, + "id": 46335, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45148, - "src": "10911:6:31", + "referencedDeclaration": 46236, + "src": "10911:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9407,29 +9408,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "32", - "id": 45248, + "id": 46336, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10921:1:31", + "src": "10921:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "10911:11:31", + "src": "10911:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45250, + "id": 46338, "nodeType": "ExpressionStatement", - "src": "10911:11:31" + "src": "10911:11:35" } ] } @@ -9440,18 +9441,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45257, + "id": 46345, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45253, + "id": 46341, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45142, - "src": "10954:5:31", + "referencedDeclaration": 46230, + "src": "10954:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9464,21 +9465,21 @@ "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, - "id": 45256, + "id": 46344, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", - "id": 45254, + "id": 46342, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10963:2:31", + "src": "10963:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -9489,54 +9490,54 @@ "operator": "**", "rightExpression": { "hexValue": "31", - "id": 45255, + "id": 46343, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10969:1:31", + "src": "10969:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "10963:7:31", + "src": "10963:7:35", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" } }, - "src": "10954:16:31", + "src": "10954:16:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45263, + "id": 46351, "nodeType": "IfStatement", - "src": "10950:66:31", + "src": "10950:66:35", "trueBody": { - "id": 45262, + "id": 46350, "nodeType": "Block", - "src": "10972:44:31", + "src": "10972:44:35", "statements": [ { "expression": { - "id": 45260, + "id": 46348, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45258, + "id": 46346, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45148, - "src": "10990:6:31", + "referencedDeclaration": 46236, + "src": "10990:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9546,29 +9547,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "31", - "id": 45259, + "id": 46347, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11000:1:31", + "src": "11000:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "10990:11:31", + "src": "10990:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45261, + "id": 46349, "nodeType": "ExpressionStatement", - "src": "10990:11:31" + "src": "10990:11:35" } ] } @@ -9577,48 +9578,48 @@ }, { "expression": { - "id": 45265, + "id": 46353, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45148, - "src": "11042:6:31", + "referencedDeclaration": 46236, + "src": "11042:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 45146, - "id": 45266, + "functionReturnParameters": 46234, + "id": 46354, "nodeType": "Return", - "src": "11035:13:31" + "src": "11035:13:35" } ] }, "documentation": { - "id": 45140, + "id": 46228, "nodeType": "StructuredDocumentation", - "src": "10020:114:31", + "src": "10020:114:35", "text": " @dev Return the log in base 10, rounded down, of a positive value.\n Returns 0 if given 0." }, "implemented": true, "kind": "function", "modifiers": [], "name": "log10", - "nameLocation": "10148:5:31", + "nameLocation": "10148:5:35", "parameters": { - "id": 45143, + "id": 46231, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45142, + "id": 46230, "mutability": "mutable", "name": "value", - "nameLocation": "10162:5:31", + "nameLocation": "10162:5:35", "nodeType": "VariableDeclaration", - "scope": 45268, - "src": "10154:13:31", + "scope": 46356, + "src": "10154:13:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9626,10 +9627,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45141, + "id": 46229, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10154:7:31", + "src": "10154:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9638,21 +9639,21 @@ "visibility": "internal" } ], - "src": "10153:15:31" + "src": "10153:15:35" }, "returnParameters": { - "id": 45146, + "id": 46234, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45145, + "id": 46233, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 45268, - "src": "10192:7:31", + "scope": 46356, + "src": "10192:7:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9660,10 +9661,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45144, + "id": 46232, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10192:7:31", + "src": "10192:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9672,43 +9673,43 @@ "visibility": "internal" } ], - "src": "10191:9:31" + "src": "10191:9:35" }, - "scope": 45431, + "scope": 46519, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 45304, + "id": 46392, "nodeType": "FunctionDefinition", - "src": "11209:248:31", + "src": "11209:248:35", "nodes": [], "body": { - "id": 45303, + "id": 46391, "nodeType": "Block", - "src": "11290:167:31", + "src": "11290:167:35", "nodes": [], "statements": [ { - "id": 45302, + "id": 46390, "nodeType": "UncheckedBlock", - "src": "11300:151:31", + "src": "11300:151:35", "statements": [ { "assignments": [ - 45280 + 46368 ], "declarations": [ { "constant": false, - "id": 45280, + "id": 46368, "mutability": "mutable", "name": "result", - "nameLocation": "11332:6:31", + "nameLocation": "11332:6:35", "nodeType": "VariableDeclaration", - "scope": 45302, - "src": "11324:14:31", + "scope": 46390, + "src": "11324:14:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9716,10 +9717,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45279, + "id": 46367, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11324:7:31", + "src": "11324:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9728,16 +9729,16 @@ "visibility": "internal" } ], - "id": 45284, + "id": 46372, "initialValue": { "arguments": [ { - "id": 45282, + "id": 46370, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45271, - "src": "11347:5:31", + "referencedDeclaration": 46359, + "src": "11347:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9751,21 +9752,21 @@ "typeString": "uint256" } ], - "id": 45281, + "id": 46369, "name": "log10", "nodeType": "Identifier", "overloadedDeclarations": [ - 45268, - 45304 + 46356, + 46392 ], - "referencedDeclaration": 45268, - "src": "11341:5:31", + "referencedDeclaration": 46356, + "src": "11341:5:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, - "id": 45283, + "id": 46371, "isConstant": false, "isLValue": false, "isPure": false, @@ -9774,7 +9775,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11341:12:31", + "src": "11341:12:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9782,7 +9783,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "11324:29:31" + "src": "11324:29:35" }, { "expression": { @@ -9790,18 +9791,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45300, + "id": 46388, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45285, + "id": 46373, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45280, - "src": "11374:6:31", + "referencedDeclaration": 46368, + "src": "11374:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9817,30 +9818,30 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 45295, + "id": 46383, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" }, - "id": 45289, + "id": 46377, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45286, + "id": 46374, "name": "rounding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45274, - "src": "11384:8:31", + "referencedDeclaration": 46362, + "src": "11384:8:35", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" } }, @@ -9848,33 +9849,33 @@ "operator": "==", "rightExpression": { "expression": { - "id": 45287, + "id": 46375, "name": "Rounding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44572, - "src": "11396:8:31", + "referencedDeclaration": 45660, + "src": "11396:8:35", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$44572_$", + "typeIdentifier": "t_type$_t_enum$_Rounding_$45660_$", "typeString": "type(enum Math.Rounding)" } }, - "id": 45288, + "id": 46376, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11405:2:31", + "memberLocation": "11405:2:35", "memberName": "Up", "nodeType": "MemberAccess", - "referencedDeclaration": 44570, - "src": "11396:11:31", + "referencedDeclaration": 45658, + "src": "11396:11:35", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" } }, - "src": "11384:23:31", + "src": "11384:23:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9887,7 +9888,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45294, + "id": 46382, "isConstant": false, "isLValue": false, "isPure": false, @@ -9897,21 +9898,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45292, + "id": 46380, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3130", - "id": 45290, + "id": 46378, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11411:2:31", + "src": "11411:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -9921,18 +9922,18 @@ "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { - "id": 45291, + "id": 46379, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45280, - "src": "11417:6:31", + "referencedDeclaration": 46368, + "src": "11417:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11411:12:31", + "src": "11411:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9941,24 +9942,24 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 45293, + "id": 46381, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45271, - "src": "11426:5:31", + "referencedDeclaration": 46359, + "src": "11426:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11411:20:31", + "src": "11411:20:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "11384:47:31", + "src": "11384:47:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9966,37 +9967,37 @@ }, "falseExpression": { "hexValue": "30", - "id": 45297, + "id": 46385, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11438:1:31", + "src": "11438:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "id": 45298, + "id": 46386, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "11384:55:31", + "src": "11384:55:35", "trueExpression": { "hexValue": "31", - "id": 45296, + "id": 46384, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11434:1:31", + "src": "11434:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -10009,58 +10010,58 @@ } } ], - "id": 45299, + "id": 46387, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "11383:57:31", + "src": "11383:57:35", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "11374:66:31", + "src": "11374:66:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 45278, - "id": 45301, + "functionReturnParameters": 46366, + "id": 46389, "nodeType": "Return", - "src": "11367:73:31" + "src": "11367:73:35" } ] } ] }, "documentation": { - "id": 45269, + "id": 46357, "nodeType": "StructuredDocumentation", - "src": "11061:143:31", + "src": "11061:143:35", "text": " @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." }, "implemented": true, "kind": "function", "modifiers": [], "name": "log10", - "nameLocation": "11218:5:31", + "nameLocation": "11218:5:35", "parameters": { - "id": 45275, + "id": 46363, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45271, + "id": 46359, "mutability": "mutable", "name": "value", - "nameLocation": "11232:5:31", + "nameLocation": "11232:5:35", "nodeType": "VariableDeclaration", - "scope": 45304, - "src": "11224:13:31", + "scope": 46392, + "src": "11224:13:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10068,10 +10069,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45270, + "id": 46358, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11224:7:31", + "src": "11224:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10081,57 +10082,57 @@ }, { "constant": false, - "id": 45274, + "id": 46362, "mutability": "mutable", "name": "rounding", - "nameLocation": "11248:8:31", + "nameLocation": "11248:8:35", "nodeType": "VariableDeclaration", - "scope": 45304, - "src": "11239:17:31", + "scope": 46392, + "src": "11239:17:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" }, "typeName": { - "id": 45273, + "id": 46361, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 45272, + "id": 46360, "name": "Rounding", "nameLocations": [ - "11239:8:31" + "11239:8:35" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 44572, - "src": "11239:8:31" + "referencedDeclaration": 45660, + "src": "11239:8:35" }, - "referencedDeclaration": 44572, - "src": "11239:8:31", + "referencedDeclaration": 45660, + "src": "11239:8:35", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" } }, "visibility": "internal" } ], - "src": "11223:34:31" + "src": "11223:34:35" }, "returnParameters": { - "id": 45278, + "id": 46366, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45277, + "id": 46365, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 45304, - "src": "11281:7:31", + "scope": 46392, + "src": "11281:7:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10139,10 +10140,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45276, + "id": 46364, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11281:7:31", + "src": "11281:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10151,38 +10152,38 @@ "visibility": "internal" } ], - "src": "11280:9:31" + "src": "11280:9:35" }, - "scope": 45431, + "scope": 46519, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 45391, + "id": 46479, "nodeType": "FunctionDefinition", - "src": "11708:663:31", + "src": "11708:663:35", "nodes": [], "body": { - "id": 45390, + "id": 46478, "nodeType": "Block", - "src": "11771:600:31", + "src": "11771:600:35", "nodes": [], "statements": [ { "assignments": [ - 45313 + 46401 ], "declarations": [ { "constant": false, - "id": 45313, + "id": 46401, "mutability": "mutable", "name": "result", - "nameLocation": "11789:6:31", + "nameLocation": "11789:6:35", "nodeType": "VariableDeclaration", - "scope": 45390, - "src": "11781:14:31", + "scope": 46478, + "src": "11781:14:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10190,10 +10191,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45312, + "id": 46400, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11781:7:31", + "src": "11781:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10202,17 +10203,17 @@ "visibility": "internal" } ], - "id": 45315, + "id": 46403, "initialValue": { "hexValue": "30", - "id": 45314, + "id": 46402, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11798:1:31", + "src": "11798:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -10220,12 +10221,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "11781:18:31" + "src": "11781:18:35" }, { - "id": 45387, + "id": 46475, "nodeType": "UncheckedBlock", - "src": "11809:533:31", + "src": "11809:533:35", "statements": [ { "condition": { @@ -10233,7 +10234,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45320, + "id": 46408, "isConstant": false, "isLValue": false, "isPure": false, @@ -10243,18 +10244,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45318, + "id": 46406, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45316, + "id": 46404, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45307, - "src": "11837:5:31", + "referencedDeclaration": 46395, + "src": "11837:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10264,21 +10265,21 @@ "operator": ">>", "rightExpression": { "hexValue": "313238", - "id": 45317, + "id": 46405, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11846:3:31", + "src": "11846:3:35", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" }, "value": "128" }, - "src": "11837:12:31", + "src": "11837:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10288,48 +10289,48 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 45319, + "id": 46407, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11852:1:31", + "src": "11852:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "11837:16:31", + "src": "11837:16:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45330, + "id": 46418, "nodeType": "IfStatement", - "src": "11833:98:31", + "src": "11833:98:35", "trueBody": { - "id": 45329, + "id": 46417, "nodeType": "Block", - "src": "11855:76:31", + "src": "11855:76:35", "statements": [ { "expression": { - "id": 45323, + "id": 46411, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45321, + "id": 46409, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45307, - "src": "11873:5:31", + "referencedDeclaration": 46395, + "src": "11873:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10339,44 +10340,44 @@ "operator": ">>=", "rightHandSide": { "hexValue": "313238", - "id": 45322, + "id": 46410, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11883:3:31", + "src": "11883:3:35", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" }, "value": "128" }, - "src": "11873:13:31", + "src": "11873:13:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45324, + "id": 46412, "nodeType": "ExpressionStatement", - "src": "11873:13:31" + "src": "11873:13:35" }, { "expression": { - "id": 45327, + "id": 46415, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45325, + "id": 46413, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45313, - "src": "11904:6:31", + "referencedDeclaration": 46401, + "src": "11904:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10386,29 +10387,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "3136", - "id": 45326, + "id": 46414, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11914:2:31", + "src": "11914:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, - "src": "11904:12:31", + "src": "11904:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45328, + "id": 46416, "nodeType": "ExpressionStatement", - "src": "11904:12:31" + "src": "11904:12:35" } ] } @@ -10419,7 +10420,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45335, + "id": 46423, "isConstant": false, "isLValue": false, "isPure": false, @@ -10429,18 +10430,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45333, + "id": 46421, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45331, + "id": 46419, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45307, - "src": "11948:5:31", + "referencedDeclaration": 46395, + "src": "11948:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10450,21 +10451,21 @@ "operator": ">>", "rightExpression": { "hexValue": "3634", - "id": 45332, + "id": 46420, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11957:2:31", + "src": "11957:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "11948:11:31", + "src": "11948:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10474,48 +10475,48 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 45334, + "id": 46422, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11962:1:31", + "src": "11962:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "11948:15:31", + "src": "11948:15:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45345, + "id": 46433, "nodeType": "IfStatement", - "src": "11944:95:31", + "src": "11944:95:35", "trueBody": { - "id": 45344, + "id": 46432, "nodeType": "Block", - "src": "11965:74:31", + "src": "11965:74:35", "statements": [ { "expression": { - "id": 45338, + "id": 46426, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45336, + "id": 46424, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45307, - "src": "11983:5:31", + "referencedDeclaration": 46395, + "src": "11983:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10525,44 +10526,44 @@ "operator": ">>=", "rightHandSide": { "hexValue": "3634", - "id": 45337, + "id": 46425, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11993:2:31", + "src": "11993:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "11983:12:31", + "src": "11983:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45339, + "id": 46427, "nodeType": "ExpressionStatement", - "src": "11983:12:31" + "src": "11983:12:35" }, { "expression": { - "id": 45342, + "id": 46430, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45340, + "id": 46428, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45313, - "src": "12013:6:31", + "referencedDeclaration": 46401, + "src": "12013:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10572,29 +10573,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "38", - "id": 45341, + "id": 46429, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12023:1:31", + "src": "12023:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, - "src": "12013:11:31", + "src": "12013:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45343, + "id": 46431, "nodeType": "ExpressionStatement", - "src": "12013:11:31" + "src": "12013:11:35" } ] } @@ -10605,7 +10606,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45350, + "id": 46438, "isConstant": false, "isLValue": false, "isPure": false, @@ -10615,18 +10616,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45348, + "id": 46436, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45346, + "id": 46434, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45307, - "src": "12056:5:31", + "referencedDeclaration": 46395, + "src": "12056:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10636,21 +10637,21 @@ "operator": ">>", "rightExpression": { "hexValue": "3332", - "id": 45347, + "id": 46435, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12065:2:31", + "src": "12065:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, - "src": "12056:11:31", + "src": "12056:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10660,48 +10661,48 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 45349, + "id": 46437, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12070:1:31", + "src": "12070:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "12056:15:31", + "src": "12056:15:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45360, + "id": 46448, "nodeType": "IfStatement", - "src": "12052:95:31", + "src": "12052:95:35", "trueBody": { - "id": 45359, + "id": 46447, "nodeType": "Block", - "src": "12073:74:31", + "src": "12073:74:35", "statements": [ { "expression": { - "id": 45353, + "id": 46441, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45351, + "id": 46439, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45307, - "src": "12091:5:31", + "referencedDeclaration": 46395, + "src": "12091:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10711,44 +10712,44 @@ "operator": ">>=", "rightHandSide": { "hexValue": "3332", - "id": 45352, + "id": 46440, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12101:2:31", + "src": "12101:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, - "src": "12091:12:31", + "src": "12091:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45354, + "id": 46442, "nodeType": "ExpressionStatement", - "src": "12091:12:31" + "src": "12091:12:35" }, { "expression": { - "id": 45357, + "id": 46445, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45355, + "id": 46443, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45313, - "src": "12121:6:31", + "referencedDeclaration": 46401, + "src": "12121:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10758,29 +10759,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "34", - "id": 45356, + "id": 46444, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12131:1:31", + "src": "12131:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, - "src": "12121:11:31", + "src": "12121:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45358, + "id": 46446, "nodeType": "ExpressionStatement", - "src": "12121:11:31" + "src": "12121:11:35" } ] } @@ -10791,7 +10792,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45365, + "id": 46453, "isConstant": false, "isLValue": false, "isPure": false, @@ -10801,18 +10802,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45363, + "id": 46451, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45361, + "id": 46449, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45307, - "src": "12164:5:31", + "referencedDeclaration": 46395, + "src": "12164:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10822,21 +10823,21 @@ "operator": ">>", "rightExpression": { "hexValue": "3136", - "id": 45362, + "id": 46450, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12173:2:31", + "src": "12173:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, - "src": "12164:11:31", + "src": "12164:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10846,48 +10847,48 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 45364, + "id": 46452, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12178:1:31", + "src": "12178:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "12164:15:31", + "src": "12164:15:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45375, + "id": 46463, "nodeType": "IfStatement", - "src": "12160:95:31", + "src": "12160:95:35", "trueBody": { - "id": 45374, + "id": 46462, "nodeType": "Block", - "src": "12181:74:31", + "src": "12181:74:35", "statements": [ { "expression": { - "id": 45368, + "id": 46456, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45366, + "id": 46454, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45307, - "src": "12199:5:31", + "referencedDeclaration": 46395, + "src": "12199:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10897,44 +10898,44 @@ "operator": ">>=", "rightHandSide": { "hexValue": "3136", - "id": 45367, + "id": 46455, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12209:2:31", + "src": "12209:2:35", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, - "src": "12199:12:31", + "src": "12199:12:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45369, + "id": 46457, "nodeType": "ExpressionStatement", - "src": "12199:12:31" + "src": "12199:12:35" }, { "expression": { - "id": 45372, + "id": 46460, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45370, + "id": 46458, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45313, - "src": "12229:6:31", + "referencedDeclaration": 46401, + "src": "12229:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10944,29 +10945,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "32", - "id": 45371, + "id": 46459, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12239:1:31", + "src": "12239:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "12229:11:31", + "src": "12229:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45373, + "id": 46461, "nodeType": "ExpressionStatement", - "src": "12229:11:31" + "src": "12229:11:35" } ] } @@ -10977,7 +10978,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45380, + "id": 46468, "isConstant": false, "isLValue": false, "isPure": false, @@ -10987,18 +10988,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45378, + "id": 46466, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45376, + "id": 46464, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45307, - "src": "12272:5:31", + "referencedDeclaration": 46395, + "src": "12272:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11008,21 +11009,21 @@ "operator": ">>", "rightExpression": { "hexValue": "38", - "id": 45377, + "id": 46465, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12281:1:31", + "src": "12281:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, - "src": "12272:10:31", + "src": "12272:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11032,48 +11033,48 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 45379, + "id": 46467, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12285:1:31", + "src": "12285:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "12272:14:31", + "src": "12272:14:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 45386, + "id": 46474, "nodeType": "IfStatement", - "src": "12268:64:31", + "src": "12268:64:35", "trueBody": { - "id": 45385, + "id": 46473, "nodeType": "Block", - "src": "12288:44:31", + "src": "12288:44:35", "statements": [ { "expression": { - "id": 45383, + "id": 46471, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 45381, + "id": 46469, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45313, - "src": "12306:6:31", + "referencedDeclaration": 46401, + "src": "12306:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11083,29 +11084,29 @@ "operator": "+=", "rightHandSide": { "hexValue": "31", - "id": 45382, + "id": 46470, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12316:1:31", + "src": "12316:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "12306:11:31", + "src": "12306:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 45384, + "id": 46472, "nodeType": "ExpressionStatement", - "src": "12306:11:31" + "src": "12306:11:35" } ] } @@ -11114,48 +11115,48 @@ }, { "expression": { - "id": 45388, + "id": 46476, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45313, - "src": "12358:6:31", + "referencedDeclaration": 46401, + "src": "12358:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 45311, - "id": 45389, + "functionReturnParameters": 46399, + "id": 46477, "nodeType": "Return", - "src": "12351:13:31" + "src": "12351:13:35" } ] }, "documentation": { - "id": 45305, + "id": 46393, "nodeType": "StructuredDocumentation", - "src": "11463:240:31", + "src": "11463:240:35", "text": " @dev Return the log in base 256, rounded down, of a positive value.\n Returns 0 if given 0.\n Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string." }, "implemented": true, "kind": "function", "modifiers": [], "name": "log256", - "nameLocation": "11717:6:31", + "nameLocation": "11717:6:35", "parameters": { - "id": 45308, + "id": 46396, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45307, + "id": 46395, "mutability": "mutable", "name": "value", - "nameLocation": "11732:5:31", + "nameLocation": "11732:5:35", "nodeType": "VariableDeclaration", - "scope": 45391, - "src": "11724:13:31", + "scope": 46479, + "src": "11724:13:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11163,10 +11164,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45306, + "id": 46394, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11724:7:31", + "src": "11724:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11175,21 +11176,21 @@ "visibility": "internal" } ], - "src": "11723:15:31" + "src": "11723:15:35" }, "returnParameters": { - "id": 45311, + "id": 46399, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45310, + "id": 46398, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 45391, - "src": "11762:7:31", + "scope": 46479, + "src": "11762:7:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11197,10 +11198,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45309, + "id": 46397, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11762:7:31", + "src": "11762:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11209,43 +11210,43 @@ "visibility": "internal" } ], - "src": "11761:9:31" + "src": "11761:9:35" }, - "scope": 45431, + "scope": 46519, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 45430, + "id": 46518, "nodeType": "FunctionDefinition", - "src": "12526:256:31", + "src": "12526:256:35", "nodes": [], "body": { - "id": 45429, + "id": 46517, "nodeType": "Block", - "src": "12608:174:31", + "src": "12608:174:35", "nodes": [], "statements": [ { - "id": 45428, + "id": 46516, "nodeType": "UncheckedBlock", - "src": "12618:158:31", + "src": "12618:158:35", "statements": [ { "assignments": [ - 45403 + 46491 ], "declarations": [ { "constant": false, - "id": 45403, + "id": 46491, "mutability": "mutable", "name": "result", - "nameLocation": "12650:6:31", + "nameLocation": "12650:6:35", "nodeType": "VariableDeclaration", - "scope": 45428, - "src": "12642:14:31", + "scope": 46516, + "src": "12642:14:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11253,10 +11254,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45402, + "id": 46490, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12642:7:31", + "src": "12642:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11265,16 +11266,16 @@ "visibility": "internal" } ], - "id": 45407, + "id": 46495, "initialValue": { "arguments": [ { - "id": 45405, + "id": 46493, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45394, - "src": "12666:5:31", + "referencedDeclaration": 46482, + "src": "12666:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11288,21 +11289,21 @@ "typeString": "uint256" } ], - "id": 45404, + "id": 46492, "name": "log256", "nodeType": "Identifier", "overloadedDeclarations": [ - 45391, - 45430 + 46479, + 46518 ], - "referencedDeclaration": 45391, - "src": "12659:6:31", + "referencedDeclaration": 46479, + "src": "12659:6:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, - "id": 45406, + "id": 46494, "isConstant": false, "isLValue": false, "isPure": false, @@ -11311,7 +11312,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12659:13:31", + "src": "12659:13:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11319,7 +11320,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "12642:30:31" + "src": "12642:30:35" }, { "expression": { @@ -11327,18 +11328,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45426, + "id": 46514, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45408, + "id": 46496, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45403, - "src": "12693:6:31", + "referencedDeclaration": 46491, + "src": "12693:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11354,30 +11355,30 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 45421, + "id": 46509, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" }, - "id": 45412, + "id": 46500, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45409, + "id": 46497, "name": "rounding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45397, - "src": "12703:8:31", + "referencedDeclaration": 46485, + "src": "12703:8:35", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" } }, @@ -11385,33 +11386,33 @@ "operator": "==", "rightExpression": { "expression": { - "id": 45410, + "id": 46498, "name": "Rounding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44572, - "src": "12715:8:31", + "referencedDeclaration": 45660, + "src": "12715:8:35", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$44572_$", + "typeIdentifier": "t_type$_t_enum$_Rounding_$45660_$", "typeString": "type(enum Math.Rounding)" } }, - "id": 45411, + "id": 46499, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "12724:2:31", + "memberLocation": "12724:2:35", "memberName": "Up", "nodeType": "MemberAccess", - "referencedDeclaration": 44570, - "src": "12715:11:31", + "referencedDeclaration": 45658, + "src": "12715:11:35", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" } }, - "src": "12703:23:31", + "src": "12703:23:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11424,7 +11425,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45420, + "id": 46508, "isConstant": false, "isLValue": false, "isPure": false, @@ -11434,21 +11435,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45418, + "id": 46506, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "31", - "id": 45413, + "id": 46501, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12730:1:31", + "src": "12730:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -11464,18 +11465,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45416, + "id": 46504, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45414, + "id": 46502, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45403, - "src": "12736:6:31", + "referencedDeclaration": 46491, + "src": "12736:6:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11485,41 +11486,41 @@ "operator": "<<", "rightExpression": { "hexValue": "33", - "id": 45415, + "id": 46503, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12746:1:31", + "src": "12746:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" }, "value": "3" }, - "src": "12736:11:31", + "src": "12736:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 45417, + "id": 46505, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "12735:13:31", + "src": "12735:13:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "12730:18:31", + "src": "12730:18:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11528,24 +11529,24 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 45419, + "id": 46507, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45394, - "src": "12751:5:31", + "referencedDeclaration": 46482, + "src": "12751:5:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "12730:26:31", + "src": "12730:26:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "12703:53:31", + "src": "12703:53:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11553,37 +11554,37 @@ }, "falseExpression": { "hexValue": "30", - "id": 45423, + "id": 46511, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12763:1:31", + "src": "12763:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "id": 45424, + "id": 46512, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "12703:61:31", + "src": "12703:61:35", "trueExpression": { "hexValue": "31", - "id": 45422, + "id": 46510, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12759:1:31", + "src": "12759:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -11596,58 +11597,58 @@ } } ], - "id": 45425, + "id": 46513, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "12702:63:31", + "src": "12702:63:35", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "12693:72:31", + "src": "12693:72:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 45401, - "id": 45427, + "functionReturnParameters": 46489, + "id": 46515, "nodeType": "Return", - "src": "12686:79:31" + "src": "12686:79:35" } ] } ] }, "documentation": { - "id": 45392, + "id": 46480, "nodeType": "StructuredDocumentation", - "src": "12377:144:31", + "src": "12377:144:35", "text": " @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." }, "implemented": true, "kind": "function", "modifiers": [], "name": "log256", - "nameLocation": "12535:6:31", + "nameLocation": "12535:6:35", "parameters": { - "id": 45398, + "id": 46486, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45394, + "id": 46482, "mutability": "mutable", "name": "value", - "nameLocation": "12550:5:31", + "nameLocation": "12550:5:35", "nodeType": "VariableDeclaration", - "scope": 45430, - "src": "12542:13:31", + "scope": 46518, + "src": "12542:13:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11655,10 +11656,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45393, + "id": 46481, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12542:7:31", + "src": "12542:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11668,57 +11669,57 @@ }, { "constant": false, - "id": 45397, + "id": 46485, "mutability": "mutable", "name": "rounding", - "nameLocation": "12566:8:31", + "nameLocation": "12566:8:35", "nodeType": "VariableDeclaration", - "scope": 45430, - "src": "12557:17:31", + "scope": 46518, + "src": "12557:17:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" }, "typeName": { - "id": 45396, + "id": 46484, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 45395, + "id": 46483, "name": "Rounding", "nameLocations": [ - "12557:8:31" + "12557:8:35" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 44572, - "src": "12557:8:31" + "referencedDeclaration": 45660, + "src": "12557:8:35" }, - "referencedDeclaration": 44572, - "src": "12557:8:31", + "referencedDeclaration": 45660, + "src": "12557:8:35", "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$44572", + "typeIdentifier": "t_enum$_Rounding_$45660", "typeString": "enum Math.Rounding" } }, "visibility": "internal" } ], - "src": "12541:34:31" + "src": "12541:34:35" }, "returnParameters": { - "id": 45401, + "id": 46489, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45400, + "id": 46488, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 45430, - "src": "12599:7:31", + "scope": 46518, + "src": "12599:7:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11726,10 +11727,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45399, + "id": 46487, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12599:7:31", + "src": "12599:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11738,9 +11739,9 @@ "visibility": "internal" } ], - "src": "12598:9:31" + "src": "12598:9:35" }, - "scope": 45431, + "scope": 46519, "stateMutability": "pure", "virtual": false, "visibility": "internal" @@ -11752,23 +11753,23 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 44568, + "id": 45656, "nodeType": "StructuredDocumentation", - "src": "128:73:31", + "src": "128:73:35", "text": " @dev Standard math utilities missing in the Solidity language." }, "fullyImplemented": true, "linearizedBaseContracts": [ - 45431 + 46519 ], "name": "Math", - "nameLocation": "210:4:31", - "scope": 45432, + "nameLocation": "210:4:35", + "scope": 46520, "usedErrors": [], "usedEvents": [] } ], "license": "MIT" }, - "id": 31 + "id": 35 } \ No newline at end of file diff --git a/tests/contract-playground/out/Ownable.sol/Ownable.json b/tests/contract-playground/out/Ownable.sol/Ownable.json index a3f6a9602..9eb872533 100644 --- a/tests/contract-playground/out/Ownable.sol/Ownable.json +++ b/tests/contract-playground/out/Ownable.sol/Ownable.json @@ -68,7 +68,7 @@ "renounceOwnership()": "715018a6", "transferOwnership(address)": "f2fde38b" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -158,7 +158,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, @@ -197,7 +198,7 @@ "id": 43394, "exportedSymbols": { "Context": [ - 44300 + 45388 ], "Ownable": [ 43393 @@ -227,7 +228,7 @@ "file": "../utils/Context.sol", "nameLocation": "-1:-1:-1", "scope": 43394, - "sourceUnit": 44301, + "sourceUnit": 45389, "symbolAliases": [], "unitAlias": "" }, @@ -362,7 +363,7 @@ "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44290, + "referencedDeclaration": 45378, "src": "955:10:21", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", @@ -679,7 +680,7 @@ "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44290, + "referencedDeclaration": 45378, "src": "1433:10:21", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", @@ -1504,7 +1505,7 @@ "683:7:21" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 44300, + "referencedDeclaration": 45388, "src": "683:7:21" }, "id": 43286, @@ -1524,7 +1525,7 @@ "fullyImplemented": true, "linearizedBaseContracts": [ 43393, - 44300 + 45388 ], "name": "Ownable", "nameLocation": "672:7:21", diff --git a/tests/contract-playground/out/ReentrancyGuard.sol/ReentrancyGuard.json b/tests/contract-playground/out/ReentrancyGuard.sol/ReentrancyGuard.json index 3927daa4e..97049fe4d 100644 --- a/tests/contract-playground/out/ReentrancyGuard.sol/ReentrancyGuard.json +++ b/tests/contract-playground/out/ReentrancyGuard.sol/ReentrancyGuard.json @@ -11,7 +11,7 @@ "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Contract module that helps prevent reentrant calls to a function. Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier available, which can be applied to functions to make sure there are no nested (reentrant) calls to them. Note that because there is a single `nonReentrant` guard, functions marked as `nonReentrant` may not call one another. This can be worked around by making those functions `private`, and then adding `external` `nonReentrant` entry points to them. TIP: If you would like to learn more about reentrancy and alternative ways to protect against it, check out our blog post https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":\"ReentrancyGuard\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Contract module that helps prevent reentrant calls to a function. Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier available, which can be applied to functions to make sure there are no nested (reentrant) calls to them. Note that because there is a single `nonReentrant` guard, functions marked as `nonReentrant` may not call one another. This can be worked around by making those functions `private`, and then adding `external` `nonReentrant` entry points to them. TIP: If you would like to learn more about reentrancy and alternative ways to protect against it, check out our blog post https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":\"ReentrancyGuard\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/SafeERC20.sol/SafeERC20.json b/tests/contract-playground/out/SafeERC20.sol/SafeERC20.json index 0eab62eed..847e59ce3 100644 --- a/tests/contract-playground/out/SafeERC20.sol/SafeERC20.json +++ b/tests/contract-playground/out/SafeERC20.sol/SafeERC20.json @@ -1,17 +1,17 @@ { "abi": [], "bytecode": { - "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f7e0f5058ad043b1a59b69184281e10fe017be52e336f6bd3e946701a9496e7c64736f6c63430008140033", + "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122020d44bf5d26f8d43a45bfb2f9a3b620fa5ab58734b4f36a44bbac4dd84b1d5cd64736f6c63430008140033", "sourceMap": "701:6234:25:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;701:6234:25;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f7e0f5058ad043b1a59b69184281e10fe017be52e336f6bd3e946701a9496e7c64736f6c63430008140033", + "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122020d44bf5d26f8d43a45bfb2f9a3b620fa5ab58734b4f36a44bbac4dd84b1d5cd64736f6c63430008140033", "sourceMap": "701:6234:25:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers around ERC20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers around ERC20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, @@ -92,7 +93,7 @@ "id": 43949, "exportedSymbols": { "Address": [ - 44278 + 45366 ], "IERC20": [ 43536 @@ -154,7 +155,7 @@ "file": "../../../utils/Address.sol", "nameLocation": "-1:-1:-1", "scope": 43949, - "sourceUnit": 44279, + "sourceUnit": 45367, "symbolAliases": [], "unitAlias": "" }, @@ -176,7 +177,7 @@ "731:7:25" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 44278, + "referencedDeclaration": 45366, "src": "731:7:25" }, "typeName": { @@ -4233,7 +4234,7 @@ "memberLocation": "5656:12:25", "memberName": "functionCall", "nodeType": "MemberAccess", - "referencedDeclaration": 44038, + "referencedDeclaration": 45126, "src": "5641:27:25", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_address_$", @@ -5101,10 +5102,10 @@ "name": "Address", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44278, + "referencedDeclaration": 45366, "src": "6892:7:25", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Address_$44278_$", + "typeIdentifier": "t_type$_t_contract$_Address_$45366_$", "typeString": "type(library Address)" } }, @@ -5116,7 +5117,7 @@ "memberLocation": "6900:10:25", "memberName": "isContract", "nodeType": "MemberAccess", - "referencedDeclaration": 43966, + "referencedDeclaration": 45054, "src": "6892:18:25", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", diff --git a/tests/contract-playground/out/SafeTransferLib.sol/SafeTransferLib.json b/tests/contract-playground/out/SafeTransferLib.sol/SafeTransferLib.json index d12545104..d5df1b111 100644 --- a/tests/contract-playground/out/SafeTransferLib.sol/SafeTransferLib.json +++ b/tests/contract-playground/out/SafeTransferLib.sol/SafeTransferLib.json @@ -1,17 +1,17 @@ { "abi": [], "bytecode": { - "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207734868d8e558909b53648318b7710356253cea7e063de2c074c9d6c463b36d564736f6c63430008140033", - "sourceMap": "586:5750:34:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;586:5750:34;;;;;;;;;;;;;;;;;", + "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201923e220e6edad016effa5fa846ee7a82f94f847c6fe998480f7e471f52772b964736f6c63430008140033", + "sourceMap": "586:5750:38:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;586:5750:38;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207734868d8e558909b53648318b7710356253cea7e063de2c074c9d6c463b36d564736f6c63430008140033", - "sourceMap": "586:5750:34:-:0;;;;;;;;", + "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201923e220e6edad016effa5fa846ee7a82f94f847c6fe998480f7e471f52772b964736f6c63430008140033", + "sourceMap": "586:5750:38:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/SafeTransferLib.sol)\",\"details\":\"Use with caution! Some functions in this library knowingly create dirty bits at the destination of the free memory pointer.Note that none of the functions in this library check that a token has code at all! That responsibility is delegated to the caller.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Safe ETH and ERC20 transfer library that gracefully handles missing return values.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/solmate/src/utils/SafeTransferLib.sol\":\"SafeTransferLib\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]},\"lib/solmate/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x6ab948013c2c7ca6351e593600425b0ec6df9035320280c678e735bce16e996b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2ab977d0eeb2bf458f9798250215c646d2f3b1f90b5a7e2b506fdf3335c0f060\",\"dweb:/ipfs/QmYPRoPhNtBAmCSq7imN1scMVpKNQvMTpoqab3tXUx5Tnv\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/SafeTransferLib.sol)\",\"details\":\"Use with caution! Some functions in this library knowingly create dirty bits at the destination of the free memory pointer.Note that none of the functions in this library check that a token has code at all! That responsibility is delegated to the caller.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Safe ETH and ERC20 transfer library that gracefully handles missing return values.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/solmate/src/utils/SafeTransferLib.sol\":\"SafeTransferLib\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]},\"lib/solmate/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x6ab948013c2c7ca6351e593600425b0ec6df9035320280c678e735bce16e996b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2ab977d0eeb2bf458f9798250215c646d2f3b1f90b5a7e2b506fdf3335c0f060\",\"dweb:/ipfs/QmYPRoPhNtBAmCSq7imN1scMVpKNQvMTpoqab3tXUx5Tnv\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, @@ -73,22 +74,22 @@ }, "ast": { "absolutePath": "lib/solmate/src/utils/SafeTransferLib.sol", - "id": 46010, + "id": 47098, "exportedSymbols": { "ERC20": [ - 45924 + 47012 ], "SafeTransferLib": [ - 46009 + 47097 ] }, "nodeType": "SourceUnit", - "src": "42:6295:34", + "src": "42:6295:38", "nodes": [ { - "id": 45926, + "id": 47014, "nodeType": "PragmaDirective", - "src": "42:24:34", + "src": "42:24:38", "nodes": [], "literals": [ "solidity", @@ -98,24 +99,24 @@ ] }, { - "id": 45928, + "id": 47016, "nodeType": "ImportDirective", - "src": "68:42:34", + "src": "68:42:38", "nodes": [], "absolutePath": "lib/solmate/src/tokens/ERC20.sol", "file": "../tokens/ERC20.sol", "nameLocation": "-1:-1:-1", - "scope": 46010, - "sourceUnit": 45925, + "scope": 47098, + "sourceUnit": 47013, "symbolAliases": [ { "foreign": { - "id": 45927, + "id": 47015, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45924, - "src": "76:5:34", + "referencedDeclaration": 47012, + "src": "76:5:38", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -124,35 +125,35 @@ "unitAlias": "" }, { - "id": 46009, + "id": 47097, "nodeType": "ContractDefinition", - "src": "586:5750:34", + "src": "586:5750:38", "nodes": [ { - "id": 45946, + "id": 47034, "nodeType": "FunctionDefinition", - "src": "799:339:34", + "src": "799:339:38", "nodes": [], "body": { - "id": 45945, + "id": 47033, "nodeType": "Block", - "src": "861:277:34", + "src": "861:277:38", "nodes": [], "statements": [ { "assignments": [ - 45937 + 47025 ], "declarations": [ { "constant": false, - "id": 45937, + "id": 47025, "mutability": "mutable", "name": "success", - "nameLocation": "876:7:34", + "nameLocation": "876:7:38", "nodeType": "VariableDeclaration", - "scope": 45945, - "src": "871:12:34", + "scope": 47033, + "src": "871:12:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -160,10 +161,10 @@ "typeString": "bool" }, "typeName": { - "id": 45936, + "id": 47024, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "871:4:34", + "src": "871:4:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -172,18 +173,18 @@ "visibility": "internal" } ], - "id": 45938, + "id": 47026, "nodeType": "VariableDeclarationStatement", - "src": "871:12:34" + "src": "871:12:38" }, { "AST": { "nodeType": "YulBlock", - "src": "946:136:34", + "src": "946:136:38", "statements": [ { "nodeType": "YulAssignment", - "src": "1026:46:34", + "src": "1026:46:38", "value": { "arguments": [ { @@ -191,46 +192,46 @@ "functionName": { "name": "gas", "nodeType": "YulIdentifier", - "src": "1042:3:34" + "src": "1042:3:38" }, "nodeType": "YulFunctionCall", - "src": "1042:5:34" + "src": "1042:5:38" }, { "name": "to", "nodeType": "YulIdentifier", - "src": "1049:2:34" + "src": "1049:2:38" }, { "name": "amount", "nodeType": "YulIdentifier", - "src": "1053:6:34" + "src": "1053:6:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1061:1:34", + "src": "1061:1:38", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1064:1:34", + "src": "1064:1:38", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1067:1:34", + "src": "1067:1:38", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1070:1:34", + "src": "1070:1:38", "type": "", "value": "0" } @@ -238,16 +239,16 @@ "functionName": { "name": "call", "nodeType": "YulIdentifier", - "src": "1037:4:34" + "src": "1037:4:38" }, "nodeType": "YulFunctionCall", - "src": "1037:35:34" + "src": "1037:35:38" }, "variableNames": [ { "name": "success", "nodeType": "YulIdentifier", - "src": "1026:7:34" + "src": "1026:7:38" } ] } @@ -257,41 +258,41 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 45933, + "declaration": 47021, "isOffset": false, "isSlot": false, - "src": "1053:6:34", + "src": "1053:6:38", "valueSize": 1 }, { - "declaration": 45937, + "declaration": 47025, "isOffset": false, "isSlot": false, - "src": "1026:7:34", + "src": "1026:7:38", "valueSize": 1 }, { - "declaration": 45931, + "declaration": 47019, "isOffset": false, "isSlot": false, - "src": "1049:2:34", + "src": "1049:2:38", "valueSize": 1 } ], - "id": 45939, + "id": 47027, "nodeType": "InlineAssembly", - "src": "937:145:34" + "src": "937:145:38" }, { "expression": { "arguments": [ { - "id": 45941, + "id": 47029, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45937, - "src": "1100:7:34", + "referencedDeclaration": 47025, + "src": "1100:7:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -299,14 +300,14 @@ }, { "hexValue": "4554485f5452414e534645525f4641494c4544", - "id": 45942, + "id": 47030, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1109:21:34", + "src": "1109:21:38", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d383913ea1996930a2623a0d739b8fc033c734c1d71d4759d3ccba1d3a719c29", "typeString": "literal_string \"ETH_TRANSFER_FAILED\"" @@ -325,7 +326,7 @@ "typeString": "literal_string \"ETH_TRANSFER_FAILED\"" } ], - "id": 45940, + "id": 47028, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -333,13 +334,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1092:7:34", + "src": "1092:7:38", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 45943, + "id": 47031, "isConstant": false, "isLValue": false, "isPure": false, @@ -348,16 +349,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1092:39:34", + "src": "1092:39:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 45944, + "id": 47032, "nodeType": "ExpressionStatement", - "src": "1092:39:34" + "src": "1092:39:38" } ] }, @@ -365,20 +366,20 @@ "kind": "function", "modifiers": [], "name": "safeTransferETH", - "nameLocation": "808:15:34", + "nameLocation": "808:15:38", "parameters": { - "id": 45934, + "id": 47022, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45931, + "id": 47019, "mutability": "mutable", "name": "to", - "nameLocation": "832:2:34", + "nameLocation": "832:2:38", "nodeType": "VariableDeclaration", - "scope": 45946, - "src": "824:10:34", + "scope": 47034, + "src": "824:10:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -386,10 +387,10 @@ "typeString": "address" }, "typeName": { - "id": 45930, + "id": 47018, "name": "address", "nodeType": "ElementaryTypeName", - "src": "824:7:34", + "src": "824:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -400,13 +401,13 @@ }, { "constant": false, - "id": 45933, + "id": 47021, "mutability": "mutable", "name": "amount", - "nameLocation": "844:6:34", + "nameLocation": "844:6:38", "nodeType": "VariableDeclaration", - "scope": 45946, - "src": "836:14:34", + "scope": 47034, + "src": "836:14:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -414,10 +415,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45932, + "id": 47020, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "836:7:34", + "src": "836:7:38", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -426,44 +427,44 @@ "visibility": "internal" } ], - "src": "823:28:34" + "src": "823:28:38" }, "returnParameters": { - "id": 45935, + "id": 47023, "nodeType": "ParameterList", "parameters": [], - "src": "861:0:34" + "src": "861:0:38" }, - "scope": 46009, + "scope": 47097, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 45968, + "id": 47056, "nodeType": "FunctionDefinition", - "src": "1328:1782:34", + "src": "1328:1782:38", "nodes": [], "body": { - "id": 45967, + "id": 47055, "nodeType": "Block", - "src": "1456:1654:34", + "src": "1456:1654:38", "nodes": [], "statements": [ { "assignments": [ - 45959 + 47047 ], "declarations": [ { "constant": false, - "id": 45959, + "id": 47047, "mutability": "mutable", "name": "success", - "nameLocation": "1471:7:34", + "nameLocation": "1471:7:38", "nodeType": "VariableDeclaration", - "scope": 45967, - "src": "1466:12:34", + "scope": 47055, + "src": "1466:12:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -471,10 +472,10 @@ "typeString": "bool" }, "typeName": { - "id": 45958, + "id": 47046, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1466:4:34", + "src": "1466:4:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -483,24 +484,24 @@ "visibility": "internal" } ], - "id": 45960, + "id": 47048, "nodeType": "VariableDeclarationStatement", - "src": "1466:12:34" + "src": "1466:12:38" }, { "AST": { "nodeType": "YulBlock", - "src": "1541:1512:34", + "src": "1541:1512:38", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "1605:36:34", + "src": "1605:36:38", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "1636:4:34", + "src": "1636:4:38", "type": "", "value": "0x40" } @@ -508,16 +509,16 @@ "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "1630:5:34" + "src": "1630:5:38" }, "nodeType": "YulFunctionCall", - "src": "1630:11:34" + "src": "1630:11:38" }, "variables": [ { "name": "freeMemoryPointer", "nodeType": "YulTypedName", - "src": "1609:17:34", + "src": "1609:17:38", "type": "" } ] @@ -528,12 +529,12 @@ { "name": "freeMemoryPointer", "nodeType": "YulIdentifier", - "src": "1759:17:34" + "src": "1759:17:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1778:66:34", + "src": "1778:66:38", "type": "", "value": "0x23b872dd00000000000000000000000000000000000000000000000000000000" } @@ -541,13 +542,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1752:6:34" + "src": "1752:6:38" }, "nodeType": "YulFunctionCall", - "src": "1752:93:34" + "src": "1752:93:38" }, "nodeType": "YulExpressionStatement", - "src": "1752:93:34" + "src": "1752:93:38" }, { "expression": { @@ -557,12 +558,12 @@ { "name": "freeMemoryPointer", "nodeType": "YulIdentifier", - "src": "1869:17:34" + "src": "1869:17:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1888:1:34", + "src": "1888:1:38", "type": "", "value": "4" } @@ -570,22 +571,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1865:3:34" + "src": "1865:3:38" }, "nodeType": "YulFunctionCall", - "src": "1865:25:34" + "src": "1865:25:38" }, { "arguments": [ { "name": "from", "nodeType": "YulIdentifier", - "src": "1896:4:34" + "src": "1896:4:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1902:42:34", + "src": "1902:42:38", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffff" } @@ -593,22 +594,22 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "1892:3:34" + "src": "1892:3:38" }, "nodeType": "YulFunctionCall", - "src": "1892:53:34" + "src": "1892:53:38" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1858:6:34" + "src": "1858:6:38" }, "nodeType": "YulFunctionCall", - "src": "1858:88:34" + "src": "1858:88:38" }, "nodeType": "YulExpressionStatement", - "src": "1858:88:34" + "src": "1858:88:38" }, { "expression": { @@ -618,12 +619,12 @@ { "name": "freeMemoryPointer", "nodeType": "YulIdentifier", - "src": "2010:17:34" + "src": "2010:17:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2029:2:34", + "src": "2029:2:38", "type": "", "value": "36" } @@ -631,22 +632,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2006:3:34" + "src": "2006:3:38" }, "nodeType": "YulFunctionCall", - "src": "2006:26:34" + "src": "2006:26:38" }, { "arguments": [ { "name": "to", "nodeType": "YulIdentifier", - "src": "2038:2:34" + "src": "2038:2:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2042:42:34", + "src": "2042:42:38", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffff" } @@ -654,22 +655,22 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "2034:3:34" + "src": "2034:3:38" }, "nodeType": "YulFunctionCall", - "src": "2034:51:34" + "src": "2034:51:38" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1999:6:34" + "src": "1999:6:38" }, "nodeType": "YulFunctionCall", - "src": "1999:87:34" + "src": "1999:87:38" }, "nodeType": "YulExpressionStatement", - "src": "1999:87:34" + "src": "1999:87:38" }, { "expression": { @@ -679,12 +680,12 @@ { "name": "freeMemoryPointer", "nodeType": "YulIdentifier", - "src": "2148:17:34" + "src": "2148:17:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2167:2:34", + "src": "2167:2:38", "type": "", "value": "68" } @@ -692,31 +693,31 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2144:3:34" + "src": "2144:3:38" }, "nodeType": "YulFunctionCall", - "src": "2144:26:34" + "src": "2144:26:38" }, { "name": "amount", "nodeType": "YulIdentifier", - "src": "2172:6:34" + "src": "2172:6:38" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "2137:6:34" + "src": "2137:6:38" }, "nodeType": "YulFunctionCall", - "src": "2137:42:34" + "src": "2137:42:38" }, "nodeType": "YulExpressionStatement", - "src": "2137:42:34" + "src": "2137:42:38" }, { "nodeType": "YulAssignment", - "src": "2276:767:34", + "src": "2276:767:38", "value": { "arguments": [ { @@ -730,7 +731,7 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "2503:1:34", + "src": "2503:1:38", "type": "", "value": "0" } @@ -738,15 +739,15 @@ "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "2497:5:34" + "src": "2497:5:38" }, "nodeType": "YulFunctionCall", - "src": "2497:8:34" + "src": "2497:8:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2507:1:34", + "src": "2507:1:38", "type": "", "value": "1" } @@ -754,10 +755,10 @@ "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "2494:2:34" + "src": "2494:2:38" }, "nodeType": "YulFunctionCall", - "src": "2494:15:34" + "src": "2494:15:38" }, { "arguments": [ @@ -766,15 +767,15 @@ "functionName": { "name": "returndatasize", "nodeType": "YulIdentifier", - "src": "2514:14:34" + "src": "2514:14:38" }, "nodeType": "YulFunctionCall", - "src": "2514:16:34" + "src": "2514:16:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2532:2:34", + "src": "2532:2:38", "type": "", "value": "31" } @@ -782,19 +783,19 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "2511:2:34" + "src": "2511:2:38" }, "nodeType": "YulFunctionCall", - "src": "2511:24:34" + "src": "2511:24:38" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "2490:3:34" + "src": "2490:3:38" }, "nodeType": "YulFunctionCall", - "src": "2490:46:34" + "src": "2490:46:38" }, { "arguments": [ @@ -803,28 +804,28 @@ "functionName": { "name": "returndatasize", "nodeType": "YulIdentifier", - "src": "2545:14:34" + "src": "2545:14:38" }, "nodeType": "YulFunctionCall", - "src": "2545:16:34" + "src": "2545:16:38" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "2538:6:34" + "src": "2538:6:38" }, "nodeType": "YulFunctionCall", - "src": "2538:24:34" + "src": "2538:24:38" } ], "functionName": { "name": "or", "nodeType": "YulIdentifier", - "src": "2487:2:34" + "src": "2487:2:38" }, "nodeType": "YulFunctionCall", - "src": "2487:76:34" + "src": "2487:76:38" }, { "arguments": [ @@ -833,46 +834,46 @@ "functionName": { "name": "gas", "nodeType": "YulIdentifier", - "src": "2982:3:34" + "src": "2982:3:38" }, "nodeType": "YulFunctionCall", - "src": "2982:5:34" + "src": "2982:5:38" }, { "name": "token", "nodeType": "YulIdentifier", - "src": "2989:5:34" + "src": "2989:5:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2996:1:34", + "src": "2996:1:38", "type": "", "value": "0" }, { "name": "freeMemoryPointer", "nodeType": "YulIdentifier", - "src": "2999:17:34" + "src": "2999:17:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3018:3:34", + "src": "3018:3:38", "type": "", "value": "100" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3023:1:34", + "src": "3023:1:38", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3026:2:34", + "src": "3026:2:38", "type": "", "value": "32" } @@ -880,25 +881,25 @@ "functionName": { "name": "call", "nodeType": "YulIdentifier", - "src": "2977:4:34" + "src": "2977:4:38" }, "nodeType": "YulFunctionCall", - "src": "2977:52:34" + "src": "2977:52:38" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "2287:3:34" + "src": "2287:3:38" }, "nodeType": "YulFunctionCall", - "src": "2287:756:34" + "src": "2287:756:38" }, "variableNames": [ { "name": "success", "nodeType": "YulIdentifier", - "src": "2276:7:34" + "src": "2276:7:38" } ] } @@ -908,55 +909,55 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 45955, + "declaration": 47043, "isOffset": false, "isSlot": false, - "src": "2172:6:34", + "src": "2172:6:38", "valueSize": 1 }, { - "declaration": 45951, + "declaration": 47039, "isOffset": false, "isSlot": false, - "src": "1896:4:34", + "src": "1896:4:38", "valueSize": 1 }, { - "declaration": 45959, + "declaration": 47047, "isOffset": false, "isSlot": false, - "src": "2276:7:34", + "src": "2276:7:38", "valueSize": 1 }, { - "declaration": 45953, + "declaration": 47041, "isOffset": false, "isSlot": false, - "src": "2038:2:34", + "src": "2038:2:38", "valueSize": 1 }, { - "declaration": 45949, + "declaration": 47037, "isOffset": false, "isSlot": false, - "src": "2989:5:34", + "src": "2989:5:38", "valueSize": 1 } ], - "id": 45961, + "id": 47049, "nodeType": "InlineAssembly", - "src": "1532:1521:34" + "src": "1532:1521:38" }, { "expression": { "arguments": [ { - "id": 45963, + "id": 47051, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45959, - "src": "3071:7:34", + "referencedDeclaration": 47047, + "src": "3071:7:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -964,14 +965,14 @@ }, { "hexValue": "5452414e534645525f46524f4d5f4641494c4544", - "id": 45964, + "id": 47052, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3080:22:34", + "src": "3080:22:38", "typeDescriptions": { "typeIdentifier": "t_stringliteral_77631768048ee92f9dcf4b9b9d762877d6b9723214862c733f0596708fc219b7", "typeString": "literal_string \"TRANSFER_FROM_FAILED\"" @@ -990,7 +991,7 @@ "typeString": "literal_string \"TRANSFER_FROM_FAILED\"" } ], - "id": 45962, + "id": 47050, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -998,13 +999,13 @@ -18 ], "referencedDeclaration": -18, - "src": "3063:7:34", + "src": "3063:7:38", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 45965, + "id": 47053, "isConstant": false, "isLValue": false, "isPure": false, @@ -1013,16 +1014,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3063:40:34", + "src": "3063:40:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 45966, + "id": 47054, "nodeType": "ExpressionStatement", - "src": "3063:40:34" + "src": "3063:40:38" } ] }, @@ -1030,43 +1031,43 @@ "kind": "function", "modifiers": [], "name": "safeTransferFrom", - "nameLocation": "1337:16:34", + "nameLocation": "1337:16:38", "parameters": { - "id": 45956, + "id": 47044, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45949, + "id": 47037, "mutability": "mutable", "name": "token", - "nameLocation": "1369:5:34", + "nameLocation": "1369:5:38", "nodeType": "VariableDeclaration", - "scope": 45968, - "src": "1363:11:34", + "scope": 47056, + "src": "1363:11:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$45924", + "typeIdentifier": "t_contract$_ERC20_$47012", "typeString": "contract ERC20" }, "typeName": { - "id": 45948, + "id": 47036, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 45947, + "id": 47035, "name": "ERC20", "nameLocations": [ - "1363:5:34" + "1363:5:38" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 45924, - "src": "1363:5:34" + "referencedDeclaration": 47012, + "src": "1363:5:38" }, - "referencedDeclaration": 45924, - "src": "1363:5:34", + "referencedDeclaration": 47012, + "src": "1363:5:38", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$45924", + "typeIdentifier": "t_contract$_ERC20_$47012", "typeString": "contract ERC20" } }, @@ -1074,13 +1075,13 @@ }, { "constant": false, - "id": 45951, + "id": 47039, "mutability": "mutable", "name": "from", - "nameLocation": "1392:4:34", + "nameLocation": "1392:4:38", "nodeType": "VariableDeclaration", - "scope": 45968, - "src": "1384:12:34", + "scope": 47056, + "src": "1384:12:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1088,10 +1089,10 @@ "typeString": "address" }, "typeName": { - "id": 45950, + "id": 47038, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1384:7:34", + "src": "1384:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1102,13 +1103,13 @@ }, { "constant": false, - "id": 45953, + "id": 47041, "mutability": "mutable", "name": "to", - "nameLocation": "1414:2:34", + "nameLocation": "1414:2:38", "nodeType": "VariableDeclaration", - "scope": 45968, - "src": "1406:10:34", + "scope": 47056, + "src": "1406:10:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1116,10 +1117,10 @@ "typeString": "address" }, "typeName": { - "id": 45952, + "id": 47040, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1406:7:34", + "src": "1406:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1130,13 +1131,13 @@ }, { "constant": false, - "id": 45955, + "id": 47043, "mutability": "mutable", "name": "amount", - "nameLocation": "1434:6:34", + "nameLocation": "1434:6:38", "nodeType": "VariableDeclaration", - "scope": 45968, - "src": "1426:14:34", + "scope": 47056, + "src": "1426:14:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1144,10 +1145,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45954, + "id": 47042, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1426:7:34", + "src": "1426:7:38", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1156,44 +1157,44 @@ "visibility": "internal" } ], - "src": "1353:93:34" + "src": "1353:93:38" }, "returnParameters": { - "id": 45957, + "id": 47045, "nodeType": "ParameterList", "parameters": [], - "src": "1456:0:34" + "src": "1456:0:38" }, - "scope": 46009, + "scope": 47097, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 45988, + "id": 47076, "nodeType": "FunctionDefinition", - "src": "3116:1607:34", + "src": "3116:1607:38", "nodes": [], "body": { - "id": 45987, + "id": 47075, "nodeType": "Block", - "src": "3218:1505:34", + "src": "3218:1505:38", "nodes": [], "statements": [ { "assignments": [ - 45979 + 47067 ], "declarations": [ { "constant": false, - "id": 45979, + "id": 47067, "mutability": "mutable", "name": "success", - "nameLocation": "3233:7:34", + "nameLocation": "3233:7:38", "nodeType": "VariableDeclaration", - "scope": 45987, - "src": "3228:12:34", + "scope": 47075, + "src": "3228:12:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1201,10 +1202,10 @@ "typeString": "bool" }, "typeName": { - "id": 45978, + "id": 47066, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3228:4:34", + "src": "3228:4:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1213,24 +1214,24 @@ "visibility": "internal" } ], - "id": 45980, + "id": 47068, "nodeType": "VariableDeclarationStatement", - "src": "3228:12:34" + "src": "3228:12:38" }, { "AST": { "nodeType": "YulBlock", - "src": "3303:1368:34", + "src": "3303:1368:38", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "3367:36:34", + "src": "3367:36:38", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "3398:4:34", + "src": "3398:4:38", "type": "", "value": "0x40" } @@ -1238,16 +1239,16 @@ "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "3392:5:34" + "src": "3392:5:38" }, "nodeType": "YulFunctionCall", - "src": "3392:11:34" + "src": "3392:11:38" }, "variables": [ { "name": "freeMemoryPointer", "nodeType": "YulTypedName", - "src": "3371:17:34", + "src": "3371:17:38", "type": "" } ] @@ -1258,12 +1259,12 @@ { "name": "freeMemoryPointer", "nodeType": "YulIdentifier", - "src": "3521:17:34" + "src": "3521:17:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3540:66:34", + "src": "3540:66:38", "type": "", "value": "0xa9059cbb00000000000000000000000000000000000000000000000000000000" } @@ -1271,13 +1272,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "3514:6:34" + "src": "3514:6:38" }, "nodeType": "YulFunctionCall", - "src": "3514:93:34" + "src": "3514:93:38" }, "nodeType": "YulExpressionStatement", - "src": "3514:93:34" + "src": "3514:93:38" }, { "expression": { @@ -1287,12 +1288,12 @@ { "name": "freeMemoryPointer", "nodeType": "YulIdentifier", - "src": "3631:17:34" + "src": "3631:17:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3650:1:34", + "src": "3650:1:38", "type": "", "value": "4" } @@ -1300,22 +1301,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3627:3:34" + "src": "3627:3:38" }, "nodeType": "YulFunctionCall", - "src": "3627:25:34" + "src": "3627:25:38" }, { "arguments": [ { "name": "to", "nodeType": "YulIdentifier", - "src": "3658:2:34" + "src": "3658:2:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3662:42:34", + "src": "3662:42:38", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffff" } @@ -1323,22 +1324,22 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "3654:3:34" + "src": "3654:3:38" }, "nodeType": "YulFunctionCall", - "src": "3654:51:34" + "src": "3654:51:38" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "3620:6:34" + "src": "3620:6:38" }, "nodeType": "YulFunctionCall", - "src": "3620:86:34" + "src": "3620:86:38" }, "nodeType": "YulExpressionStatement", - "src": "3620:86:34" + "src": "3620:86:38" }, { "expression": { @@ -1348,12 +1349,12 @@ { "name": "freeMemoryPointer", "nodeType": "YulIdentifier", - "src": "3768:17:34" + "src": "3768:17:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3787:2:34", + "src": "3787:2:38", "type": "", "value": "36" } @@ -1361,31 +1362,31 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3764:3:34" + "src": "3764:3:38" }, "nodeType": "YulFunctionCall", - "src": "3764:26:34" + "src": "3764:26:38" }, { "name": "amount", "nodeType": "YulIdentifier", - "src": "3792:6:34" + "src": "3792:6:38" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "3757:6:34" + "src": "3757:6:38" }, "nodeType": "YulFunctionCall", - "src": "3757:42:34" + "src": "3757:42:38" }, "nodeType": "YulExpressionStatement", - "src": "3757:42:34" + "src": "3757:42:38" }, { "nodeType": "YulAssignment", - "src": "3896:765:34", + "src": "3896:765:38", "value": { "arguments": [ { @@ -1399,7 +1400,7 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4123:1:34", + "src": "4123:1:38", "type": "", "value": "0" } @@ -1407,15 +1408,15 @@ "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "4117:5:34" + "src": "4117:5:38" }, "nodeType": "YulFunctionCall", - "src": "4117:8:34" + "src": "4117:8:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4127:1:34", + "src": "4127:1:38", "type": "", "value": "1" } @@ -1423,10 +1424,10 @@ "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "4114:2:34" + "src": "4114:2:38" }, "nodeType": "YulFunctionCall", - "src": "4114:15:34" + "src": "4114:15:38" }, { "arguments": [ @@ -1435,15 +1436,15 @@ "functionName": { "name": "returndatasize", "nodeType": "YulIdentifier", - "src": "4134:14:34" + "src": "4134:14:38" }, "nodeType": "YulFunctionCall", - "src": "4134:16:34" + "src": "4134:16:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4152:2:34", + "src": "4152:2:38", "type": "", "value": "31" } @@ -1451,19 +1452,19 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "4131:2:34" + "src": "4131:2:38" }, "nodeType": "YulFunctionCall", - "src": "4131:24:34" + "src": "4131:24:38" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "4110:3:34" + "src": "4110:3:38" }, "nodeType": "YulFunctionCall", - "src": "4110:46:34" + "src": "4110:46:38" }, { "arguments": [ @@ -1472,28 +1473,28 @@ "functionName": { "name": "returndatasize", "nodeType": "YulIdentifier", - "src": "4165:14:34" + "src": "4165:14:38" }, "nodeType": "YulFunctionCall", - "src": "4165:16:34" + "src": "4165:16:38" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "4158:6:34" + "src": "4158:6:38" }, "nodeType": "YulFunctionCall", - "src": "4158:24:34" + "src": "4158:24:38" } ], "functionName": { "name": "or", "nodeType": "YulIdentifier", - "src": "4107:2:34" + "src": "4107:2:38" }, "nodeType": "YulFunctionCall", - "src": "4107:76:34" + "src": "4107:76:38" }, { "arguments": [ @@ -1502,46 +1503,46 @@ "functionName": { "name": "gas", "nodeType": "YulIdentifier", - "src": "4601:3:34" + "src": "4601:3:38" }, "nodeType": "YulFunctionCall", - "src": "4601:5:34" + "src": "4601:5:38" }, { "name": "token", "nodeType": "YulIdentifier", - "src": "4608:5:34" + "src": "4608:5:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4615:1:34", + "src": "4615:1:38", "type": "", "value": "0" }, { "name": "freeMemoryPointer", "nodeType": "YulIdentifier", - "src": "4618:17:34" + "src": "4618:17:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4637:2:34", + "src": "4637:2:38", "type": "", "value": "68" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4641:1:34", + "src": "4641:1:38", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4644:2:34", + "src": "4644:2:38", "type": "", "value": "32" } @@ -1549,25 +1550,25 @@ "functionName": { "name": "call", "nodeType": "YulIdentifier", - "src": "4596:4:34" + "src": "4596:4:38" }, "nodeType": "YulFunctionCall", - "src": "4596:51:34" + "src": "4596:51:38" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "3907:3:34" + "src": "3907:3:38" }, "nodeType": "YulFunctionCall", - "src": "3907:754:34" + "src": "3907:754:38" }, "variableNames": [ { "name": "success", "nodeType": "YulIdentifier", - "src": "3896:7:34" + "src": "3896:7:38" } ] } @@ -1577,48 +1578,48 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 45975, + "declaration": 47063, "isOffset": false, "isSlot": false, - "src": "3792:6:34", + "src": "3792:6:38", "valueSize": 1 }, { - "declaration": 45979, + "declaration": 47067, "isOffset": false, "isSlot": false, - "src": "3896:7:34", + "src": "3896:7:38", "valueSize": 1 }, { - "declaration": 45973, + "declaration": 47061, "isOffset": false, "isSlot": false, - "src": "3658:2:34", + "src": "3658:2:38", "valueSize": 1 }, { - "declaration": 45971, + "declaration": 47059, "isOffset": false, "isSlot": false, - "src": "4608:5:34", + "src": "4608:5:38", "valueSize": 1 } ], - "id": 45981, + "id": 47069, "nodeType": "InlineAssembly", - "src": "3294:1377:34" + "src": "3294:1377:38" }, { "expression": { "arguments": [ { - "id": 45983, + "id": 47071, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45979, - "src": "4689:7:34", + "referencedDeclaration": 47067, + "src": "4689:7:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1626,14 +1627,14 @@ }, { "hexValue": "5452414e534645525f4641494c4544", - "id": 45984, + "id": 47072, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4698:17:34", + "src": "4698:17:38", "typeDescriptions": { "typeIdentifier": "t_stringliteral_8bf8f0d780f13740660fe63233b17f96cb1813889e7dce4121e55b817b367b72", "typeString": "literal_string \"TRANSFER_FAILED\"" @@ -1652,7 +1653,7 @@ "typeString": "literal_string \"TRANSFER_FAILED\"" } ], - "id": 45982, + "id": 47070, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1660,13 +1661,13 @@ -18 ], "referencedDeclaration": -18, - "src": "4681:7:34", + "src": "4681:7:38", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 45985, + "id": 47073, "isConstant": false, "isLValue": false, "isPure": false, @@ -1675,16 +1676,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4681:35:34", + "src": "4681:35:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 45986, + "id": 47074, "nodeType": "ExpressionStatement", - "src": "4681:35:34" + "src": "4681:35:38" } ] }, @@ -1692,43 +1693,43 @@ "kind": "function", "modifiers": [], "name": "safeTransfer", - "nameLocation": "3125:12:34", + "nameLocation": "3125:12:38", "parameters": { - "id": 45976, + "id": 47064, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45971, + "id": 47059, "mutability": "mutable", "name": "token", - "nameLocation": "3153:5:34", + "nameLocation": "3153:5:38", "nodeType": "VariableDeclaration", - "scope": 45988, - "src": "3147:11:34", + "scope": 47076, + "src": "3147:11:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$45924", + "typeIdentifier": "t_contract$_ERC20_$47012", "typeString": "contract ERC20" }, "typeName": { - "id": 45970, + "id": 47058, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 45969, + "id": 47057, "name": "ERC20", "nameLocations": [ - "3147:5:34" + "3147:5:38" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 45924, - "src": "3147:5:34" + "referencedDeclaration": 47012, + "src": "3147:5:38" }, - "referencedDeclaration": 45924, - "src": "3147:5:34", + "referencedDeclaration": 47012, + "src": "3147:5:38", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$45924", + "typeIdentifier": "t_contract$_ERC20_$47012", "typeString": "contract ERC20" } }, @@ -1736,13 +1737,13 @@ }, { "constant": false, - "id": 45973, + "id": 47061, "mutability": "mutable", "name": "to", - "nameLocation": "3176:2:34", + "nameLocation": "3176:2:38", "nodeType": "VariableDeclaration", - "scope": 45988, - "src": "3168:10:34", + "scope": 47076, + "src": "3168:10:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1750,10 +1751,10 @@ "typeString": "address" }, "typeName": { - "id": 45972, + "id": 47060, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3168:7:34", + "src": "3168:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1764,13 +1765,13 @@ }, { "constant": false, - "id": 45975, + "id": 47063, "mutability": "mutable", "name": "amount", - "nameLocation": "3196:6:34", + "nameLocation": "3196:6:38", "nodeType": "VariableDeclaration", - "scope": 45988, - "src": "3188:14:34", + "scope": 47076, + "src": "3188:14:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1778,10 +1779,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45974, + "id": 47062, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3188:7:34", + "src": "3188:7:38", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1790,44 +1791,44 @@ "visibility": "internal" } ], - "src": "3137:71:34" + "src": "3137:71:38" }, "returnParameters": { - "id": 45977, + "id": 47065, "nodeType": "ParameterList", "parameters": [], - "src": "3218:0:34" + "src": "3218:0:38" }, - "scope": 46009, + "scope": 47097, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 46008, + "id": 47096, "nodeType": "FunctionDefinition", - "src": "4729:1605:34", + "src": "4729:1605:38", "nodes": [], "body": { - "id": 46007, + "id": 47095, "nodeType": "Block", - "src": "4830:1504:34", + "src": "4830:1504:38", "nodes": [], "statements": [ { "assignments": [ - 45999 + 47087 ], "declarations": [ { "constant": false, - "id": 45999, + "id": 47087, "mutability": "mutable", "name": "success", - "nameLocation": "4845:7:34", + "nameLocation": "4845:7:38", "nodeType": "VariableDeclaration", - "scope": 46007, - "src": "4840:12:34", + "scope": 47095, + "src": "4840:12:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1835,10 +1836,10 @@ "typeString": "bool" }, "typeName": { - "id": 45998, + "id": 47086, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4840:4:34", + "src": "4840:4:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1847,24 +1848,24 @@ "visibility": "internal" } ], - "id": 46000, + "id": 47088, "nodeType": "VariableDeclarationStatement", - "src": "4840:12:34" + "src": "4840:12:38" }, { "AST": { "nodeType": "YulBlock", - "src": "4915:1368:34", + "src": "4915:1368:38", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "4979:36:34", + "src": "4979:36:38", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "5010:4:34", + "src": "5010:4:38", "type": "", "value": "0x40" } @@ -1872,16 +1873,16 @@ "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "5004:5:34" + "src": "5004:5:38" }, "nodeType": "YulFunctionCall", - "src": "5004:11:34" + "src": "5004:11:38" }, "variables": [ { "name": "freeMemoryPointer", "nodeType": "YulTypedName", - "src": "4983:17:34", + "src": "4983:17:38", "type": "" } ] @@ -1892,12 +1893,12 @@ { "name": "freeMemoryPointer", "nodeType": "YulIdentifier", - "src": "5133:17:34" + "src": "5133:17:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5152:66:34", + "src": "5152:66:38", "type": "", "value": "0x095ea7b300000000000000000000000000000000000000000000000000000000" } @@ -1905,13 +1906,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5126:6:34" + "src": "5126:6:38" }, "nodeType": "YulFunctionCall", - "src": "5126:93:34" + "src": "5126:93:38" }, "nodeType": "YulExpressionStatement", - "src": "5126:93:34" + "src": "5126:93:38" }, { "expression": { @@ -1921,12 +1922,12 @@ { "name": "freeMemoryPointer", "nodeType": "YulIdentifier", - "src": "5243:17:34" + "src": "5243:17:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5262:1:34", + "src": "5262:1:38", "type": "", "value": "4" } @@ -1934,22 +1935,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5239:3:34" + "src": "5239:3:38" }, "nodeType": "YulFunctionCall", - "src": "5239:25:34" + "src": "5239:25:38" }, { "arguments": [ { "name": "to", "nodeType": "YulIdentifier", - "src": "5270:2:34" + "src": "5270:2:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5274:42:34", + "src": "5274:42:38", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffff" } @@ -1957,22 +1958,22 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "5266:3:34" + "src": "5266:3:38" }, "nodeType": "YulFunctionCall", - "src": "5266:51:34" + "src": "5266:51:38" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5232:6:34" + "src": "5232:6:38" }, "nodeType": "YulFunctionCall", - "src": "5232:86:34" + "src": "5232:86:38" }, "nodeType": "YulExpressionStatement", - "src": "5232:86:34" + "src": "5232:86:38" }, { "expression": { @@ -1982,12 +1983,12 @@ { "name": "freeMemoryPointer", "nodeType": "YulIdentifier", - "src": "5380:17:34" + "src": "5380:17:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5399:2:34", + "src": "5399:2:38", "type": "", "value": "36" } @@ -1995,31 +1996,31 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5376:3:34" + "src": "5376:3:38" }, "nodeType": "YulFunctionCall", - "src": "5376:26:34" + "src": "5376:26:38" }, { "name": "amount", "nodeType": "YulIdentifier", - "src": "5404:6:34" + "src": "5404:6:38" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5369:6:34" + "src": "5369:6:38" }, "nodeType": "YulFunctionCall", - "src": "5369:42:34" + "src": "5369:42:38" }, "nodeType": "YulExpressionStatement", - "src": "5369:42:34" + "src": "5369:42:38" }, { "nodeType": "YulAssignment", - "src": "5508:765:34", + "src": "5508:765:38", "value": { "arguments": [ { @@ -2033,7 +2034,7 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5735:1:34", + "src": "5735:1:38", "type": "", "value": "0" } @@ -2041,15 +2042,15 @@ "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "5729:5:34" + "src": "5729:5:38" }, "nodeType": "YulFunctionCall", - "src": "5729:8:34" + "src": "5729:8:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5739:1:34", + "src": "5739:1:38", "type": "", "value": "1" } @@ -2057,10 +2058,10 @@ "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "5726:2:34" + "src": "5726:2:38" }, "nodeType": "YulFunctionCall", - "src": "5726:15:34" + "src": "5726:15:38" }, { "arguments": [ @@ -2069,15 +2070,15 @@ "functionName": { "name": "returndatasize", "nodeType": "YulIdentifier", - "src": "5746:14:34" + "src": "5746:14:38" }, "nodeType": "YulFunctionCall", - "src": "5746:16:34" + "src": "5746:16:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5764:2:34", + "src": "5764:2:38", "type": "", "value": "31" } @@ -2085,19 +2086,19 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "5743:2:34" + "src": "5743:2:38" }, "nodeType": "YulFunctionCall", - "src": "5743:24:34" + "src": "5743:24:38" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "5722:3:34" + "src": "5722:3:38" }, "nodeType": "YulFunctionCall", - "src": "5722:46:34" + "src": "5722:46:38" }, { "arguments": [ @@ -2106,28 +2107,28 @@ "functionName": { "name": "returndatasize", "nodeType": "YulIdentifier", - "src": "5777:14:34" + "src": "5777:14:38" }, "nodeType": "YulFunctionCall", - "src": "5777:16:34" + "src": "5777:16:38" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "5770:6:34" + "src": "5770:6:38" }, "nodeType": "YulFunctionCall", - "src": "5770:24:34" + "src": "5770:24:38" } ], "functionName": { "name": "or", "nodeType": "YulIdentifier", - "src": "5719:2:34" + "src": "5719:2:38" }, "nodeType": "YulFunctionCall", - "src": "5719:76:34" + "src": "5719:76:38" }, { "arguments": [ @@ -2136,46 +2137,46 @@ "functionName": { "name": "gas", "nodeType": "YulIdentifier", - "src": "6213:3:34" + "src": "6213:3:38" }, "nodeType": "YulFunctionCall", - "src": "6213:5:34" + "src": "6213:5:38" }, { "name": "token", "nodeType": "YulIdentifier", - "src": "6220:5:34" + "src": "6220:5:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6227:1:34", + "src": "6227:1:38", "type": "", "value": "0" }, { "name": "freeMemoryPointer", "nodeType": "YulIdentifier", - "src": "6230:17:34" + "src": "6230:17:38" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6249:2:34", + "src": "6249:2:38", "type": "", "value": "68" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6253:1:34", + "src": "6253:1:38", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6256:2:34", + "src": "6256:2:38", "type": "", "value": "32" } @@ -2183,25 +2184,25 @@ "functionName": { "name": "call", "nodeType": "YulIdentifier", - "src": "6208:4:34" + "src": "6208:4:38" }, "nodeType": "YulFunctionCall", - "src": "6208:51:34" + "src": "6208:51:38" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "5519:3:34" + "src": "5519:3:38" }, "nodeType": "YulFunctionCall", - "src": "5519:754:34" + "src": "5519:754:38" }, "variableNames": [ { "name": "success", "nodeType": "YulIdentifier", - "src": "5508:7:34" + "src": "5508:7:38" } ] } @@ -2211,48 +2212,48 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 45995, + "declaration": 47083, "isOffset": false, "isSlot": false, - "src": "5404:6:34", + "src": "5404:6:38", "valueSize": 1 }, { - "declaration": 45999, + "declaration": 47087, "isOffset": false, "isSlot": false, - "src": "5508:7:34", + "src": "5508:7:38", "valueSize": 1 }, { - "declaration": 45993, + "declaration": 47081, "isOffset": false, "isSlot": false, - "src": "5270:2:34", + "src": "5270:2:38", "valueSize": 1 }, { - "declaration": 45991, + "declaration": 47079, "isOffset": false, "isSlot": false, - "src": "6220:5:34", + "src": "6220:5:38", "valueSize": 1 } ], - "id": 46001, + "id": 47089, "nodeType": "InlineAssembly", - "src": "4906:1377:34" + "src": "4906:1377:38" }, { "expression": { "arguments": [ { - "id": 46003, + "id": 47091, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45999, - "src": "6301:7:34", + "referencedDeclaration": 47087, + "src": "6301:7:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2260,14 +2261,14 @@ }, { "hexValue": "415050524f56455f4641494c4544", - "id": 46004, + "id": 47092, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6310:16:34", + "src": "6310:16:38", "typeDescriptions": { "typeIdentifier": "t_stringliteral_cd400c5237ae346977ee020ef8d0d26a880c07edf7eba69a8848f0d31e9a88f2", "typeString": "literal_string \"APPROVE_FAILED\"" @@ -2286,7 +2287,7 @@ "typeString": "literal_string \"APPROVE_FAILED\"" } ], - "id": 46002, + "id": 47090, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2294,13 +2295,13 @@ -18 ], "referencedDeclaration": -18, - "src": "6293:7:34", + "src": "6293:7:38", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 46005, + "id": 47093, "isConstant": false, "isLValue": false, "isPure": false, @@ -2309,16 +2310,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6293:34:34", + "src": "6293:34:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 46006, + "id": 47094, "nodeType": "ExpressionStatement", - "src": "6293:34:34" + "src": "6293:34:38" } ] }, @@ -2326,43 +2327,43 @@ "kind": "function", "modifiers": [], "name": "safeApprove", - "nameLocation": "4738:11:34", + "nameLocation": "4738:11:38", "parameters": { - "id": 45996, + "id": 47084, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45991, + "id": 47079, "mutability": "mutable", "name": "token", - "nameLocation": "4765:5:34", + "nameLocation": "4765:5:38", "nodeType": "VariableDeclaration", - "scope": 46008, - "src": "4759:11:34", + "scope": 47096, + "src": "4759:11:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$45924", + "typeIdentifier": "t_contract$_ERC20_$47012", "typeString": "contract ERC20" }, "typeName": { - "id": 45990, + "id": 47078, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 45989, + "id": 47077, "name": "ERC20", "nameLocations": [ - "4759:5:34" + "4759:5:38" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 45924, - "src": "4759:5:34" + "referencedDeclaration": 47012, + "src": "4759:5:38" }, - "referencedDeclaration": 45924, - "src": "4759:5:34", + "referencedDeclaration": 47012, + "src": "4759:5:38", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$45924", + "typeIdentifier": "t_contract$_ERC20_$47012", "typeString": "contract ERC20" } }, @@ -2370,13 +2371,13 @@ }, { "constant": false, - "id": 45993, + "id": 47081, "mutability": "mutable", "name": "to", - "nameLocation": "4788:2:34", + "nameLocation": "4788:2:38", "nodeType": "VariableDeclaration", - "scope": 46008, - "src": "4780:10:34", + "scope": 47096, + "src": "4780:10:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2384,10 +2385,10 @@ "typeString": "address" }, "typeName": { - "id": 45992, + "id": 47080, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4780:7:34", + "src": "4780:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2398,13 +2399,13 @@ }, { "constant": false, - "id": 45995, + "id": 47083, "mutability": "mutable", "name": "amount", - "nameLocation": "4808:6:34", + "nameLocation": "4808:6:38", "nodeType": "VariableDeclaration", - "scope": 46008, - "src": "4800:14:34", + "scope": 47096, + "src": "4800:14:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2412,10 +2413,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45994, + "id": 47082, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4800:7:34", + "src": "4800:7:38", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2424,15 +2425,15 @@ "visibility": "internal" } ], - "src": "4749:71:34" + "src": "4749:71:38" }, "returnParameters": { - "id": 45997, + "id": 47085, "nodeType": "ParameterList", "parameters": [], - "src": "4830:0:34" + "src": "4830:0:38" }, - "scope": 46009, + "scope": 47097, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" @@ -2444,23 +2445,23 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 45929, + "id": 47017, "nodeType": "StructuredDocumentation", - "src": "112:474:34", + "src": "112:474:38", "text": "@notice Safe ETH and ERC20 transfer library that gracefully handles missing return values.\n @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/SafeTransferLib.sol)\n @dev Use with caution! Some functions in this library knowingly create dirty bits at the destination of the free memory pointer.\n @dev Note that none of the functions in this library check that a token has code at all! That responsibility is delegated to the caller." }, "fullyImplemented": true, "linearizedBaseContracts": [ - 46009 + 47097 ], "name": "SafeTransferLib", - "nameLocation": "594:15:34", - "scope": 46010, + "nameLocation": "594:15:38", + "scope": 47098, "usedErrors": [], "usedEvents": [] } ], "license": "AGPL-3.0-only" }, - "id": 34 + "id": 38 } \ No newline at end of file diff --git a/tests/contract-playground/out/Script.sol/Script.json b/tests/contract-playground/out/Script.sol/Script.json index a851a676a..ab9553e22 100644 --- a/tests/contract-playground/out/Script.sol/Script.json +++ b/tests/contract-playground/out/Script.sol/Script.json @@ -27,7 +27,7 @@ "methodIdentifiers": { "IS_SCRIPT()": "f8ccbf47" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Script.sol\":\"Script\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x0bded803c7e28336785fa600f03035e61d0b689bba2f014b1720e576c5ee3307\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://407f3979f460cc60bc7e4ce6fd7da4facac9f52623b4d6805052538d897eab9b\",\"dweb:/ipfs/QmSRhYNywsJhtYEYyPM1izGNsP1SBzxsXwLfcQnFF5NA9p\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d\",\"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Script.sol\":\"Script\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x0bded803c7e28336785fa600f03035e61d0b689bba2f014b1720e576c5ee3307\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://407f3979f460cc60bc7e4ce6fd7da4facac9f52623b4d6805052538d897eab9b\",\"dweb:/ipfs/QmSRhYNywsJhtYEYyPM1izGNsP1SBzxsXwLfcQnFF5NA9p\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d\",\"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -67,7 +67,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/SignedMath.sol/SignedMath.json b/tests/contract-playground/out/SignedMath.sol/SignedMath.json index 164c83329..161d50bd0 100644 --- a/tests/contract-playground/out/SignedMath.sol/SignedMath.json +++ b/tests/contract-playground/out/SignedMath.sol/SignedMath.json @@ -1,17 +1,17 @@ { "abi": [], "bytecode": { - "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206f7be5a1f91c7375f182bae919c7fd82e187e9954b77e1b27bc8ad16529bc37564736f6c63430008140033", - "sourceMap": "215:1047:32:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;215:1047:32;;;;;;;;;;;;;;;;;", + "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202d269be235bb0f2788a2192789b66168069509d3a103b6097f7ef9e5c7e3f2a964736f6c63430008140033", + "sourceMap": "215:1047:36:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;215:1047:36;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206f7be5a1f91c7375f182bae919c7fd82e187e9954b77e1b27bc8ad16529bc37564736f6c63430008140033", - "sourceMap": "215:1047:32:-:0;;;;;;;;", + "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202d269be235bb0f2788a2192789b66168069509d3a103b6097f7ef9e5c7e3f2a964736f6c63430008140033", + "sourceMap": "215:1047:36:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, @@ -65,19 +66,19 @@ }, "ast": { "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol", - "id": 45537, + "id": 46625, "exportedSymbols": { "SignedMath": [ - 45536 + 46624 ] }, "nodeType": "SourceUnit", - "src": "109:1154:32", + "src": "109:1154:36", "nodes": [ { - "id": 45433, + "id": 46521, "nodeType": "PragmaDirective", - "src": "109:23:32", + "src": "109:23:36", "nodes": [], "literals": [ "solidity", @@ -87,19 +88,19 @@ ] }, { - "id": 45536, + "id": 46624, "nodeType": "ContractDefinition", - "src": "215:1047:32", + "src": "215:1047:36", "nodes": [ { - "id": 45452, + "id": 46540, "nodeType": "FunctionDefinition", - "src": "311:101:32", + "src": "311:101:36", "nodes": [], "body": { - "id": 45451, + "id": 46539, "nodeType": "Block", - "src": "375:37:32", + "src": "375:37:36", "nodes": [], "statements": [ { @@ -109,18 +110,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 45446, + "id": 46534, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45444, + "id": 46532, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45437, - "src": "392:1:32", + "referencedDeclaration": 46525, + "src": "392:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -129,49 +130,49 @@ "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { - "id": 45445, + "id": 46533, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45439, - "src": "396:1:32", + "referencedDeclaration": 46527, + "src": "396:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "src": "392:5:32", + "src": "392:5:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { - "id": 45448, + "id": 46536, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45439, - "src": "404:1:32", + "referencedDeclaration": 46527, + "src": "404:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "id": 45449, + "id": 46537, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "392:13:32", + "src": "392:13:36", "trueExpression": { - "id": 45447, + "id": 46535, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45437, - "src": "400:1:32", + "referencedDeclaration": 46525, + "src": "400:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -182,37 +183,37 @@ "typeString": "int256" } }, - "functionReturnParameters": 45443, - "id": 45450, + "functionReturnParameters": 46531, + "id": 46538, "nodeType": "Return", - "src": "385:20:32" + "src": "385:20:36" } ] }, "documentation": { - "id": 45435, + "id": 46523, "nodeType": "StructuredDocumentation", - "src": "240:66:32", + "src": "240:66:36", "text": " @dev Returns the largest of two signed numbers." }, "implemented": true, "kind": "function", "modifiers": [], "name": "max", - "nameLocation": "320:3:32", + "nameLocation": "320:3:36", "parameters": { - "id": 45440, + "id": 46528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45437, + "id": 46525, "mutability": "mutable", "name": "a", - "nameLocation": "331:1:32", + "nameLocation": "331:1:36", "nodeType": "VariableDeclaration", - "scope": 45452, - "src": "324:8:32", + "scope": 46540, + "src": "324:8:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -220,10 +221,10 @@ "typeString": "int256" }, "typeName": { - "id": 45436, + "id": 46524, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "324:6:32", + "src": "324:6:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -233,13 +234,13 @@ }, { "constant": false, - "id": 45439, + "id": 46527, "mutability": "mutable", "name": "b", - "nameLocation": "341:1:32", + "nameLocation": "341:1:36", "nodeType": "VariableDeclaration", - "scope": 45452, - "src": "334:8:32", + "scope": 46540, + "src": "334:8:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -247,10 +248,10 @@ "typeString": "int256" }, "typeName": { - "id": 45438, + "id": 46526, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "334:6:32", + "src": "334:6:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -259,21 +260,21 @@ "visibility": "internal" } ], - "src": "323:20:32" + "src": "323:20:36" }, "returnParameters": { - "id": 45443, + "id": 46531, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45442, + "id": 46530, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 45452, - "src": "367:6:32", + "scope": 46540, + "src": "367:6:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -281,10 +282,10 @@ "typeString": "int256" }, "typeName": { - "id": 45441, + "id": 46529, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "367:6:32", + "src": "367:6:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -293,22 +294,22 @@ "visibility": "internal" } ], - "src": "366:8:32" + "src": "366:8:36" }, - "scope": 45536, + "scope": 46624, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 45470, + "id": 46558, "nodeType": "FunctionDefinition", - "src": "490:101:32", + "src": "490:101:36", "nodes": [], "body": { - "id": 45469, + "id": 46557, "nodeType": "Block", - "src": "554:37:32", + "src": "554:37:36", "nodes": [], "statements": [ { @@ -318,18 +319,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 45464, + "id": 46552, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45462, + "id": 46550, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45455, - "src": "571:1:32", + "referencedDeclaration": 46543, + "src": "571:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -338,49 +339,49 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 45463, + "id": 46551, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45457, - "src": "575:1:32", + "referencedDeclaration": 46545, + "src": "575:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "src": "571:5:32", + "src": "571:5:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { - "id": 45466, + "id": 46554, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45457, - "src": "583:1:32", + "referencedDeclaration": 46545, + "src": "583:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "id": 45467, + "id": 46555, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "571:13:32", + "src": "571:13:36", "trueExpression": { - "id": 45465, + "id": 46553, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45455, - "src": "579:1:32", + "referencedDeclaration": 46543, + "src": "579:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -391,37 +392,37 @@ "typeString": "int256" } }, - "functionReturnParameters": 45461, - "id": 45468, + "functionReturnParameters": 46549, + "id": 46556, "nodeType": "Return", - "src": "564:20:32" + "src": "564:20:36" } ] }, "documentation": { - "id": 45453, + "id": 46541, "nodeType": "StructuredDocumentation", - "src": "418:67:32", + "src": "418:67:36", "text": " @dev Returns the smallest of two signed numbers." }, "implemented": true, "kind": "function", "modifiers": [], "name": "min", - "nameLocation": "499:3:32", + "nameLocation": "499:3:36", "parameters": { - "id": 45458, + "id": 46546, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45455, + "id": 46543, "mutability": "mutable", "name": "a", - "nameLocation": "510:1:32", + "nameLocation": "510:1:36", "nodeType": "VariableDeclaration", - "scope": 45470, - "src": "503:8:32", + "scope": 46558, + "src": "503:8:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -429,10 +430,10 @@ "typeString": "int256" }, "typeName": { - "id": 45454, + "id": 46542, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "503:6:32", + "src": "503:6:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -442,13 +443,13 @@ }, { "constant": false, - "id": 45457, + "id": 46545, "mutability": "mutable", "name": "b", - "nameLocation": "520:1:32", + "nameLocation": "520:1:36", "nodeType": "VariableDeclaration", - "scope": 45470, - "src": "513:8:32", + "scope": 46558, + "src": "513:8:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -456,10 +457,10 @@ "typeString": "int256" }, "typeName": { - "id": 45456, + "id": 46544, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "513:6:32", + "src": "513:6:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -468,21 +469,21 @@ "visibility": "internal" } ], - "src": "502:20:32" + "src": "502:20:36" }, "returnParameters": { - "id": 45461, + "id": 46549, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45460, + "id": 46548, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 45470, - "src": "546:6:32", + "scope": 46558, + "src": "546:6:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -490,10 +491,10 @@ "typeString": "int256" }, "typeName": { - "id": 45459, + "id": 46547, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "546:6:32", + "src": "546:6:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -502,38 +503,38 @@ "visibility": "internal" } ], - "src": "545:8:32" + "src": "545:8:36" }, - "scope": 45536, + "scope": 46624, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 45514, + "id": 46602, "nodeType": "FunctionDefinition", - "src": "728:230:32", + "src": "728:230:36", "nodes": [], "body": { - "id": 45513, + "id": 46601, "nodeType": "Block", - "src": "796:162:32", + "src": "796:162:36", "nodes": [], "statements": [ { "assignments": [ - 45481 + 46569 ], "declarations": [ { "constant": false, - "id": 45481, + "id": 46569, "mutability": "mutable", "name": "x", - "nameLocation": "865:1:32", + "nameLocation": "865:1:36", "nodeType": "VariableDeclaration", - "scope": 45513, - "src": "858:8:32", + "scope": 46601, + "src": "858:8:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -541,10 +542,10 @@ "typeString": "int256" }, "typeName": { - "id": 45480, + "id": 46568, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "858:6:32", + "src": "858:6:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -553,13 +554,13 @@ "visibility": "internal" } ], - "id": 45494, + "id": 46582, "initialValue": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 45493, + "id": 46581, "isConstant": false, "isLValue": false, "isPure": false, @@ -571,18 +572,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 45484, + "id": 46572, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45482, + "id": 46570, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45473, - "src": "870:1:32", + "referencedDeclaration": 46561, + "src": "870:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -591,32 +592,32 @@ "nodeType": "BinaryOperation", "operator": "&", "rightExpression": { - "id": 45483, + "id": 46571, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45475, - "src": "874:1:32", + "referencedDeclaration": 46563, + "src": "874:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "src": "870:5:32", + "src": "870:5:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], - "id": 45485, + "id": 46573, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "869:7:32", + "src": "869:7:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -631,7 +632,7 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 45491, + "id": 46579, "isConstant": false, "isLValue": false, "isPure": false, @@ -643,18 +644,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 45488, + "id": 46576, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45486, + "id": 46574, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45473, - "src": "881:1:32", + "referencedDeclaration": 46561, + "src": "881:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -663,32 +664,32 @@ "nodeType": "BinaryOperation", "operator": "^", "rightExpression": { - "id": 45487, + "id": 46575, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45475, - "src": "885:1:32", + "referencedDeclaration": 46563, + "src": "885:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "src": "881:5:32", + "src": "881:5:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], - "id": 45489, + "id": 46577, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "880:7:32", + "src": "880:7:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -698,48 +699,48 @@ "operator": ">>", "rightExpression": { "hexValue": "31", - "id": 45490, + "id": 46578, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "891:1:32", + "src": "891:1:36", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "880:12:32", + "src": "880:12:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], - "id": 45492, + "id": 46580, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "879:14:32", + "src": "879:14:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "src": "869:24:32", + "src": "869:24:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "VariableDeclarationStatement", - "src": "858:35:32" + "src": "858:35:36" }, { "expression": { @@ -747,18 +748,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 45511, + "id": 46599, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45495, + "id": 46583, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45481, - "src": "910:1:32", + "referencedDeclaration": 46569, + "src": "910:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -773,7 +774,7 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 45509, + "id": 46597, "isConstant": false, "isLValue": false, "isPure": false, @@ -785,7 +786,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45503, + "id": 46591, "isConstant": false, "isLValue": false, "isPure": false, @@ -793,12 +794,12 @@ "leftExpression": { "arguments": [ { - "id": 45500, + "id": 46588, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45481, - "src": "930:1:32", + "referencedDeclaration": 46569, + "src": "930:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -812,26 +813,26 @@ "typeString": "int256" } ], - "id": 45499, + "id": 46587, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "922:7:32", + "src": "922:7:36", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 45498, + "id": 46586, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "922:7:32", + "src": "922:7:36", "typeDescriptions": {} } }, - "id": 45501, + "id": 46589, "isConstant": false, "isLValue": false, "isPure": false, @@ -840,7 +841,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "922:10:32", + "src": "922:10:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -851,21 +852,21 @@ "operator": ">>", "rightExpression": { "hexValue": "323535", - "id": 45502, + "id": 46590, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "936:3:32", + "src": "936:3:36", "typeDescriptions": { "typeIdentifier": "t_rational_255_by_1", "typeString": "int_const 255" }, "value": "255" }, - "src": "922:17:32", + "src": "922:17:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -879,26 +880,26 @@ "typeString": "uint256" } ], - "id": 45497, + "id": 46585, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "915:6:32", + "src": "915:6:36", "typeDescriptions": { "typeIdentifier": "t_type$_t_int256_$", "typeString": "type(int256)" }, "typeName": { - "id": 45496, + "id": 46584, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "915:6:32", + "src": "915:6:36", "typeDescriptions": {} } }, - "id": 45504, + "id": 46592, "isConstant": false, "isLValue": false, "isPure": false, @@ -907,7 +908,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "915:25:32", + "src": "915:25:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_int256", @@ -923,18 +924,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 45507, + "id": 46595, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45505, + "id": 46593, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45473, - "src": "944:1:32", + "referencedDeclaration": 46561, + "src": "944:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -943,94 +944,94 @@ "nodeType": "BinaryOperation", "operator": "^", "rightExpression": { - "id": 45506, + "id": 46594, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45475, - "src": "948:1:32", + "referencedDeclaration": 46563, + "src": "948:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "src": "944:5:32", + "src": "944:5:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], - "id": 45508, + "id": 46596, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "943:7:32", + "src": "943:7:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "src": "915:35:32", + "src": "915:35:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], - "id": 45510, + "id": 46598, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "914:37:32", + "src": "914:37:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "src": "910:41:32", + "src": "910:41:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "functionReturnParameters": 45479, - "id": 45512, + "functionReturnParameters": 46567, + "id": 46600, "nodeType": "Return", - "src": "903:48:32" + "src": "903:48:36" } ] }, "documentation": { - "id": 45471, + "id": 46559, "nodeType": "StructuredDocumentation", - "src": "597:126:32", + "src": "597:126:36", "text": " @dev Returns the average of two signed numbers without overflow.\n The result is rounded towards zero." }, "implemented": true, "kind": "function", "modifiers": [], "name": "average", - "nameLocation": "737:7:32", + "nameLocation": "737:7:36", "parameters": { - "id": 45476, + "id": 46564, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45473, + "id": 46561, "mutability": "mutable", "name": "a", - "nameLocation": "752:1:32", + "nameLocation": "752:1:36", "nodeType": "VariableDeclaration", - "scope": 45514, - "src": "745:8:32", + "scope": 46602, + "src": "745:8:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1038,10 +1039,10 @@ "typeString": "int256" }, "typeName": { - "id": 45472, + "id": 46560, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "745:6:32", + "src": "745:6:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -1051,13 +1052,13 @@ }, { "constant": false, - "id": 45475, + "id": 46563, "mutability": "mutable", "name": "b", - "nameLocation": "762:1:32", + "nameLocation": "762:1:36", "nodeType": "VariableDeclaration", - "scope": 45514, - "src": "755:8:32", + "scope": 46602, + "src": "755:8:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1065,10 +1066,10 @@ "typeString": "int256" }, "typeName": { - "id": 45474, + "id": 46562, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "755:6:32", + "src": "755:6:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -1077,21 +1078,21 @@ "visibility": "internal" } ], - "src": "744:20:32" + "src": "744:20:36" }, "returnParameters": { - "id": 45479, + "id": 46567, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45478, + "id": 46566, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 45514, - "src": "788:6:32", + "scope": 46602, + "src": "788:6:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1099,10 +1100,10 @@ "typeString": "int256" }, "typeName": { - "id": 45477, + "id": 46565, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "788:6:32", + "src": "788:6:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -1111,28 +1112,28 @@ "visibility": "internal" } ], - "src": "787:8:32" + "src": "787:8:36" }, - "scope": 45536, + "scope": 46624, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 45535, + "id": 46623, "nodeType": "FunctionDefinition", - "src": "1047:213:32", + "src": "1047:213:36", "nodes": [], "body": { - "id": 45534, + "id": 46622, "nodeType": "Block", - "src": "1102:158:32", + "src": "1102:158:36", "nodes": [], "statements": [ { - "id": 45533, + "id": 46621, "nodeType": "UncheckedBlock", - "src": "1112:142:32", + "src": "1112:142:36", "statements": [ { "expression": { @@ -1143,18 +1144,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 45526, + "id": 46614, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 45524, + "id": 46612, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45517, - "src": "1227:1:32", + "referencedDeclaration": 46605, + "src": "1227:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -1164,28 +1165,28 @@ "operator": ">=", "rightExpression": { "hexValue": "30", - "id": 45525, + "id": 46613, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1232:1:32", + "src": "1232:1:36", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1227:6:32", + "src": "1227:6:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { - "id": 45529, + "id": 46617, "isConstant": false, "isLValue": false, "isPure": false, @@ -1193,14 +1194,14 @@ "nodeType": "UnaryOperation", "operator": "-", "prefix": true, - "src": "1240:2:32", + "src": "1240:2:36", "subExpression": { - "id": 45528, + "id": 46616, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45517, - "src": "1241:1:32", + "referencedDeclaration": 46605, + "src": "1241:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -1211,20 +1212,20 @@ "typeString": "int256" } }, - "id": 45530, + "id": 46618, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "1227:15:32", + "src": "1227:15:36", "trueExpression": { - "id": 45527, + "id": 46615, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45517, - "src": "1236:1:32", + "referencedDeclaration": 46605, + "src": "1236:1:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -1243,26 +1244,26 @@ "typeString": "int256" } ], - "id": 45523, + "id": 46611, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1219:7:32", + "src": "1219:7:36", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 45522, + "id": 46610, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1219:7:32", + "src": "1219:7:36", "typeDescriptions": {} } }, - "id": 45531, + "id": 46619, "isConstant": false, "isLValue": false, "isPure": false, @@ -1271,46 +1272,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1219:24:32", + "src": "1219:24:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 45521, - "id": 45532, + "functionReturnParameters": 46609, + "id": 46620, "nodeType": "Return", - "src": "1212:31:32" + "src": "1212:31:36" } ] } ] }, "documentation": { - "id": 45515, + "id": 46603, "nodeType": "StructuredDocumentation", - "src": "964:78:32", + "src": "964:78:36", "text": " @dev Returns the absolute unsigned value of a signed value." }, "implemented": true, "kind": "function", "modifiers": [], "name": "abs", - "nameLocation": "1056:3:32", + "nameLocation": "1056:3:36", "parameters": { - "id": 45518, + "id": 46606, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45517, + "id": 46605, "mutability": "mutable", "name": "n", - "nameLocation": "1067:1:32", + "nameLocation": "1067:1:36", "nodeType": "VariableDeclaration", - "scope": 45535, - "src": "1060:8:32", + "scope": 46623, + "src": "1060:8:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1318,10 +1319,10 @@ "typeString": "int256" }, "typeName": { - "id": 45516, + "id": 46604, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "1060:6:32", + "src": "1060:6:36", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -1330,21 +1331,21 @@ "visibility": "internal" } ], - "src": "1059:10:32" + "src": "1059:10:36" }, "returnParameters": { - "id": 45521, + "id": 46609, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 45520, + "id": 46608, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 45535, - "src": "1093:7:32", + "scope": 46623, + "src": "1093:7:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1352,10 +1353,10 @@ "typeString": "uint256" }, "typeName": { - "id": 45519, + "id": 46607, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1093:7:32", + "src": "1093:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1364,9 +1365,9 @@ "visibility": "internal" } ], - "src": "1092:9:32" + "src": "1092:9:36" }, - "scope": 45536, + "scope": 46624, "stateMutability": "pure", "virtual": false, "visibility": "internal" @@ -1378,23 +1379,23 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 45434, + "id": 46522, "nodeType": "StructuredDocumentation", - "src": "134:80:32", + "src": "134:80:36", "text": " @dev Standard signed math utilities missing in the Solidity language." }, "fullyImplemented": true, "linearizedBaseContracts": [ - 45536 + 46624 ], "name": "SignedMath", - "nameLocation": "223:10:32", - "scope": 45537, + "nameLocation": "223:10:36", + "scope": 46625, "usedErrors": [], "usedEvents": [] } ], "license": "MIT" }, - "id": 32 + "id": 36 } \ No newline at end of file diff --git a/tests/contract-playground/out/StateVariables.sol/StateVariables.json b/tests/contract-playground/out/StateVariables.sol/StateVariables.json index eaa09faa3..1d1453a10 100644 --- a/tests/contract-playground/out/StateVariables.sol/StateVariables.json +++ b/tests/contract-playground/out/StateVariables.sol/StateVariables.json @@ -205,15 +205,15 @@ ], "bytecode": { "object": "0x60e060405260016003556002600455600360055560016009556002600a556003600b5534801561002e57600080fd5b5060405161039f38038061039f83398101604081905261004d9161005e565b60809290925260a05260c05261008c565b60008060006060848603121561007357600080fd5b8351925060208401519150604084015190509250925092565b60805160a05160c0516102eb6100b4600039600060f8015260005050600050506102eb6000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063767800de11610071578063767800de14610149578063960e6cf114610174578063a6db5ad41461017d578063ab34420414610190578063d55c09ec146101ac578063ebf7dd3a146101b457600080fd5b8063041e9204146100b957806321a16478146100d557806338346734146100ea57806350e56ca2146100f3578063531760881461011a5780636e362f311461012d575b600080fd5b6100c260025481565b6040519081526020015b60405180910390f35b6100e86100e3366004610259565b6101bd565b005b6100c260055481565b6100c27f000000000000000000000000000000000000000000000000000000000000000081565b6100e8610128366004610259565b610206565b6100e861013b366004610289565b600692909255600755600855565b600c5461015c906001600160a01b031681565b6040516001600160a01b0390911681526020016100cc565b6100c2600b5481565b6100e861018b366004610259565b6101e4565b6100e861019e366004610289565b600992909255600a55600b55565b6100c2600381565b6100c260085481565b6001600160a01b0381166101e457604051633efa09af60e01b815260040160405180910390fd5b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166101e45760405162461bcd60e51b8152602060048201526016602482015275416464726573732063616e6e6f74206265207a65726f60501b604482015260640160405180910390fd5b60006020828403121561026b57600080fd5b81356001600160a01b038116811461028257600080fd5b9392505050565b60008060006060848603121561029e57600080fd5b50508135936020830135935060409092013591905056fea264697066735822122069fa726dcd65300ca50a4674e9c79a5d42213adea2d5c709baaadbfe9decaa1664736f6c63430008140033", - "sourceMap": "97:2841:40:-:0;;;413:1;367:47;;468:1;420:49;;519:1;475:45;;864:1;817:48;;920:1;871:50;;972:1;927:46;;1426:292;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1547:48;;;;;1605:50;;1665:46;;97:2841;;14:306:48;102:6;110;118;171:2;159:9;150:7;146:23;142:32;139:52;;;187:1;184;177:12;139:52;216:9;210:16;200:26;;266:2;255:9;251:18;245:25;235:35;;310:2;299:9;295:18;289:25;279:35;;14:306;;;;;:::o;:::-;97:2841:40;;;;;;;;;;;;;;;;;;;;;;", + "sourceMap": "97:2841:46:-:0;;;413:1;367:47;;468:1;420:49;;519:1;475:45;;864:1;817:48;;920:1;871:50;;972:1;927:46;;1426:292;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1547:48;;;;;1605:50;;1665:46;;97:2841;;14:306:55;102:6;110;118;171:2;159:9;150:7;146:23;142:32;139:52;;;187:1;184;177:12;139:52;216:9;210:16;200:26;;266:2;255:9;251:18;245:25;235:35;;310:2;299:9;295:18;289:25;279:35;;14:306;;;;;:::o;:::-;97:2841:46;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063767800de11610071578063767800de14610149578063960e6cf114610174578063a6db5ad41461017d578063ab34420414610190578063d55c09ec146101ac578063ebf7dd3a146101b457600080fd5b8063041e9204146100b957806321a16478146100d557806338346734146100ea57806350e56ca2146100f3578063531760881461011a5780636e362f311461012d575b600080fd5b6100c260025481565b6040519081526020015b60405180910390f35b6100e86100e3366004610259565b6101bd565b005b6100c260055481565b6100c27f000000000000000000000000000000000000000000000000000000000000000081565b6100e8610128366004610259565b610206565b6100e861013b366004610289565b600692909255600755600855565b600c5461015c906001600160a01b031681565b6040516001600160a01b0390911681526020016100cc565b6100c2600b5481565b6100e861018b366004610259565b6101e4565b6100e861019e366004610289565b600992909255600a55600b55565b6100c2600381565b6100c260085481565b6001600160a01b0381166101e457604051633efa09af60e01b815260040160405180910390fd5b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166101e45760405162461bcd60e51b8152602060048201526016602482015275416464726573732063616e6e6f74206265207a65726f60501b604482015260640160405180910390fd5b60006020828403121561026b57600080fd5b81356001600160a01b038116811461028257600080fd5b9392505050565b60008060006060848603121561029e57600080fd5b50508135936020830135935060409092013591905056fea264697066735822122069fa726dcd65300ca50a4674e9c79a5d42213adea2d5c709baaadbfe9decaa1664736f6c63430008140033", - "sourceMap": "97:2841:40:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;267:33;;;;;;;;;160:25:48;;;148:2;133:18;267:33:40;;;;;;;;1755:145;;;;;;:::i;:::-;;:::i;:::-;;475:45;;;;;;1347:46;;;;;1906:151;;;;;;:::i;:::-;;:::i;2148:376::-;;;;;;:::i;:::-;2335:25;:54;;;;2399:26;:56;2465:24;:52;2148:376;1400:19;;;;;-1:-1:-1;;;;;1400:19:40;;;;;;-1:-1:-1;;;;;972:32:48;;;954:51;;942:2;927:18;1400:19:40;808:203:48;927:46:40;;;;;;2063:79;;;;;;:::i;:::-;;:::i;2530:406::-;;;;;;:::i;:::-;2729:28;:60;;;;2799:29;:62;2871:27;:58;2530:406;1135:43;;1177:1;1135:43;;695:39;;;;;;1755:145;-1:-1:-1;;;;;1821:21:40;;1817:52;;1851:18;;-1:-1:-1;;;1851:18:40;;;;;;;;;;;1817:52;1879:4;:14;;-1:-1:-1;;;;;;1879:14:40;-1:-1:-1;;;;;1879:14:40;;;;;;;;;;1755:145::o;1906:151::-;-1:-1:-1;;;;;1978:21:40;;1970:56;;;;-1:-1:-1;;;1970:56:40;;1218:2:48;1970:56:40;;;1200:21:48;1257:2;1237:18;;;1230:30;-1:-1:-1;;;1276:18:48;;;1269:52;1338:18;;1970:56:40;;;;;;;196:286:48;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;350:23;;-1:-1:-1;;;;;402:31:48;;392:42;;382:70;;448:1;445;438:12;382:70;471:5;196:286;-1:-1:-1;;;196:286:48:o;487:316::-;564:6;572;580;633:2;621:9;612:7;608:23;604:32;601:52;;;649:1;646;639:12;601:52;-1:-1:-1;;672:23:48;;;742:2;727:18;;714:32;;-1:-1:-1;793:2:48;778:18;;;765:32;;487:316;-1:-1:-1;487:316:48:o", + "sourceMap": "97:2841:46:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;267:33;;;;;;;;;160:25:55;;;148:2;133:18;267:33:46;;;;;;;;1755:145;;;;;;:::i;:::-;;:::i;:::-;;475:45;;;;;;1347:46;;;;;1906:151;;;;;;:::i;:::-;;:::i;2148:376::-;;;;;;:::i;:::-;2335:25;:54;;;;2399:26;:56;2465:24;:52;2148:376;1400:19;;;;;-1:-1:-1;;;;;1400:19:46;;;;;;-1:-1:-1;;;;;972:32:55;;;954:51;;942:2;927:18;1400:19:46;808:203:55;927:46:46;;;;;;2063:79;;;;;;:::i;:::-;;:::i;2530:406::-;;;;;;:::i;:::-;2729:28;:60;;;;2799:29;:62;2871:27;:58;2530:406;1135:43;;1177:1;1135:43;;695:39;;;;;;1755:145;-1:-1:-1;;;;;1821:21:46;;1817:52;;1851:18;;-1:-1:-1;;;1851:18:46;;;;;;;;;;;1817:52;1879:4;:14;;-1:-1:-1;;;;;;1879:14:46;-1:-1:-1;;;;;1879:14:46;;;;;;;;;;1755:145::o;1906:151::-;-1:-1:-1;;;;;1978:21:46;;1970:56;;;;-1:-1:-1;;;1970:56:46;;1218:2:55;1970:56:46;;;1200:21:55;1257:2;1237:18;;;1230:30;-1:-1:-1;;;1276:18:55;;;1269:52;1338:18;;1970:56:46;;;;;;;196:286:55;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;350:23;;-1:-1:-1;;;;;402:31:55;;392:42;;382:70;;448:1;445;438:12;382:70;471:5;196:286;-1:-1:-1;;;196:286:55:o;487:316::-;564:6;572;580;633:2;621:9;612:7;608:23;604:32;601:52;;;649:1;646;639:12;601:52;-1:-1:-1;;672:23:55;;;742:2;727:18;;714:32;;-1:-1:-1;793:2:55;778:18;;;765:32;;487:316;-1:-1:-1;487:316:55:o", "linkReferences": {}, "immutableReferences": { - "46769": [ + "47917": [ { "start": 248, "length": 32 @@ -496,22 +496,22 @@ }, "ast": { "absolutePath": "src/StateVariables.sol", - "id": 46891, + "id": 48039, "exportedSymbols": { "Counter": [ - 46455 + 47603 ], "StateVariables": [ - 46890 + 48038 ] }, "nodeType": "SourceUnit", - "src": "32:2907:40", + "src": "32:2907:46", "nodes": [ { - "id": 46722, + "id": 47870, "nodeType": "PragmaDirective", - "src": "32:23:40", + "src": "32:23:46", "nodes": [], "literals": [ "solidity", @@ -520,24 +520,24 @@ ] }, { - "id": 46724, + "id": 47872, "nodeType": "ImportDirective", - "src": "57:38:40", + "src": "57:38:46", "nodes": [], "absolutePath": "src/Counter.sol", "file": "./Counter.sol", "nameLocation": "-1:-1:-1", - "scope": 46891, - "sourceUnit": 46456, + "scope": 48039, + "sourceUnit": 47604, "symbolAliases": [ { "foreign": { - "id": 46723, + "id": 47871, "name": "Counter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46455, - "src": "65:7:40", + "referencedDeclaration": 47603, + "src": "65:7:46", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -546,20 +546,20 @@ "unitAlias": "" }, { - "id": 46890, + "id": 48038, "nodeType": "ContractDefinition", - "src": "97:2841:40", + "src": "97:2841:46", "nodes": [ { - "id": 46726, + "id": 47874, "nodeType": "VariableDeclaration", - "src": "183:35:40", + "src": "183:35:46", "nodes": [], "constant": false, "mutability": "mutable", "name": "staticPrivateNumber", - "nameLocation": "199:19:40", - "scope": 46890, + "nameLocation": "199:19:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -567,10 +567,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46725, + "id": 47873, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "183:7:40", + "src": "183:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -579,15 +579,15 @@ "visibility": "private" }, { - "id": 46728, + "id": 47876, "nodeType": "VariableDeclaration", - "src": "224:37:40", + "src": "224:37:46", "nodes": [], "constant": false, "mutability": "mutable", "name": "staticInternalNumber", - "nameLocation": "241:20:40", - "scope": 46890, + "nameLocation": "241:20:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -595,10 +595,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46727, + "id": 47875, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "224:7:40", + "src": "224:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -607,16 +607,16 @@ "visibility": "internal" }, { - "id": 46730, + "id": 47878, "nodeType": "VariableDeclaration", - "src": "267:33:40", + "src": "267:33:46", "nodes": [], "constant": false, "functionSelector": "041e9204", "mutability": "mutable", "name": "staticPublicNumber", - "nameLocation": "282:18:40", - "scope": 46890, + "nameLocation": "282:18:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -624,10 +624,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46729, + "id": 47877, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "267:7:40", + "src": "267:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -636,15 +636,15 @@ "visibility": "public" }, { - "id": 46733, + "id": 47881, "nodeType": "VariableDeclaration", - "src": "367:47:40", + "src": "367:47:46", "nodes": [], "constant": false, "mutability": "mutable", "name": "staticNonEmptyPrivateNumber", - "nameLocation": "383:27:40", - "scope": 46890, + "nameLocation": "383:27:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -652,10 +652,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46731, + "id": 47879, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "367:7:40", + "src": "367:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -663,14 +663,14 @@ }, "value": { "hexValue": "31", - "id": 46732, + "id": 47880, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "413:1:40", + "src": "413:1:46", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -680,15 +680,15 @@ "visibility": "private" }, { - "id": 46736, + "id": 47884, "nodeType": "VariableDeclaration", - "src": "420:49:40", + "src": "420:49:46", "nodes": [], "constant": false, "mutability": "mutable", "name": "staticNonEmptyInternalNumber", - "nameLocation": "437:28:40", - "scope": 46890, + "nameLocation": "437:28:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -696,10 +696,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46734, + "id": 47882, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "420:7:40", + "src": "420:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -707,14 +707,14 @@ }, "value": { "hexValue": "32", - "id": 46735, + "id": 47883, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "468:1:40", + "src": "468:1:46", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -724,16 +724,16 @@ "visibility": "internal" }, { - "id": 46739, + "id": 47887, "nodeType": "VariableDeclaration", - "src": "475:45:40", + "src": "475:45:46", "nodes": [], "constant": false, "functionSelector": "38346734", "mutability": "mutable", "name": "staticNonEmptyPublicNumber", - "nameLocation": "490:26:40", - "scope": 46890, + "nameLocation": "490:26:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -741,10 +741,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46737, + "id": 47885, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "475:7:40", + "src": "475:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -752,14 +752,14 @@ }, "value": { "hexValue": "33", - "id": 46738, + "id": 47886, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "519:1:40", + "src": "519:1:46", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -769,15 +769,15 @@ "visibility": "public" }, { - "id": 46741, + "id": 47889, "nodeType": "VariableDeclaration", - "src": "599:41:40", + "src": "599:41:46", "nodes": [], "constant": false, "mutability": "mutable", "name": "emptyAlteredPrivateNumber", - "nameLocation": "615:25:40", - "scope": 46890, + "nameLocation": "615:25:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -785,10 +785,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46740, + "id": 47888, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "599:7:40", + "src": "599:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -797,15 +797,15 @@ "visibility": "private" }, { - "id": 46743, + "id": 47891, "nodeType": "VariableDeclaration", - "src": "646:43:40", + "src": "646:43:46", "nodes": [], "constant": false, "mutability": "mutable", "name": "emptyAlteredInternalNumber", - "nameLocation": "663:26:40", - "scope": 46890, + "nameLocation": "663:26:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -813,10 +813,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46742, + "id": 47890, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "646:7:40", + "src": "646:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -825,16 +825,16 @@ "visibility": "internal" }, { - "id": 46745, + "id": 47893, "nodeType": "VariableDeclaration", - "src": "695:39:40", + "src": "695:39:46", "nodes": [], "constant": false, "functionSelector": "ebf7dd3a", "mutability": "mutable", "name": "emptyAlteredPublicNumber", - "nameLocation": "710:24:40", - "scope": 46890, + "nameLocation": "710:24:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -842,10 +842,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46744, + "id": 47892, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "695:7:40", + "src": "695:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -854,15 +854,15 @@ "visibility": "public" }, { - "id": 46748, + "id": 47896, "nodeType": "VariableDeclaration", - "src": "817:48:40", + "src": "817:48:46", "nodes": [], "constant": false, "mutability": "mutable", "name": "nonEmptyAlteredPrivateNumber", - "nameLocation": "833:28:40", - "scope": 46890, + "nameLocation": "833:28:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -870,10 +870,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46746, + "id": 47894, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "817:7:40", + "src": "817:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -881,14 +881,14 @@ }, "value": { "hexValue": "31", - "id": 46747, + "id": 47895, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "864:1:40", + "src": "864:1:46", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -898,15 +898,15 @@ "visibility": "private" }, { - "id": 46751, + "id": 47899, "nodeType": "VariableDeclaration", - "src": "871:50:40", + "src": "871:50:46", "nodes": [], "constant": false, "mutability": "mutable", "name": "nonEmptyAlteredInternalNumber", - "nameLocation": "888:29:40", - "scope": 46890, + "nameLocation": "888:29:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -914,10 +914,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46749, + "id": 47897, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "871:7:40", + "src": "871:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -925,14 +925,14 @@ }, "value": { "hexValue": "32", - "id": 46750, + "id": 47898, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "920:1:40", + "src": "920:1:46", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -942,16 +942,16 @@ "visibility": "internal" }, { - "id": 46754, + "id": 47902, "nodeType": "VariableDeclaration", - "src": "927:46:40", + "src": "927:46:46", "nodes": [], "constant": false, "functionSelector": "960e6cf1", "mutability": "mutable", "name": "nonEmptyAlteredPublicNumber", - "nameLocation": "942:27:40", - "scope": 46890, + "nameLocation": "942:27:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -959,10 +959,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46752, + "id": 47900, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "927:7:40", + "src": "927:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -970,14 +970,14 @@ }, "value": { "hexValue": "33", - "id": 46753, + "id": 47901, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "972:1:40", + "src": "972:1:46", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -987,15 +987,15 @@ "visibility": "public" }, { - "id": 46757, + "id": 47905, "nodeType": "VariableDeclaration", - "src": "1031:45:40", + "src": "1031:45:46", "nodes": [], "constant": true, "mutability": "constant", "name": "PRIVATE_CONSTANT", - "nameLocation": "1056:16:40", - "scope": 46890, + "nameLocation": "1056:16:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1003,10 +1003,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46755, + "id": 47903, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1031:7:40", + "src": "1031:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1014,14 +1014,14 @@ }, "value": { "hexValue": "31", - "id": 46756, + "id": 47904, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1075:1:40", + "src": "1075:1:46", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -1031,15 +1031,15 @@ "visibility": "private" }, { - "id": 46760, + "id": 47908, "nodeType": "VariableDeclaration", - "src": "1082:47:40", + "src": "1082:47:46", "nodes": [], "constant": true, "mutability": "constant", "name": "INTERNAL_CONSTANT", - "nameLocation": "1108:17:40", - "scope": 46890, + "nameLocation": "1108:17:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1047,10 +1047,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46758, + "id": 47906, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1082:7:40", + "src": "1082:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1058,14 +1058,14 @@ }, "value": { "hexValue": "32", - "id": 46759, + "id": 47907, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1128:1:40", + "src": "1128:1:46", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -1075,16 +1075,16 @@ "visibility": "internal" }, { - "id": 46763, + "id": 47911, "nodeType": "VariableDeclaration", - "src": "1135:43:40", + "src": "1135:43:46", "nodes": [], "constant": true, "functionSelector": "d55c09ec", "mutability": "constant", "name": "PUBLIC_CONSTANT", - "nameLocation": "1159:15:40", - "scope": 46890, + "nameLocation": "1159:15:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1092,10 +1092,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46761, + "id": 47909, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1135:7:40", + "src": "1135:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1103,14 +1103,14 @@ }, "value": { "hexValue": "33", - "id": 46762, + "id": 47910, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1177:1:40", + "src": "1177:1:46", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -1120,15 +1120,15 @@ "visibility": "public" }, { - "id": 46765, + "id": 47913, "nodeType": "VariableDeclaration", - "src": "1237:48:40", + "src": "1237:48:46", "nodes": [], "constant": false, "mutability": "immutable", "name": "privateImmutableNumber", - "nameLocation": "1263:22:40", - "scope": 46890, + "nameLocation": "1263:22:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1136,10 +1136,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46764, + "id": 47912, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1237:7:40", + "src": "1237:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1148,15 +1148,15 @@ "visibility": "private" }, { - "id": 46767, + "id": 47915, "nodeType": "VariableDeclaration", - "src": "1291:50:40", + "src": "1291:50:46", "nodes": [], "constant": false, "mutability": "immutable", "name": "internalImmutableNumber", - "nameLocation": "1318:23:40", - "scope": 46890, + "nameLocation": "1318:23:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1164,10 +1164,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46766, + "id": 47914, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1291:7:40", + "src": "1291:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1176,16 +1176,16 @@ "visibility": "internal" }, { - "id": 46769, + "id": 47917, "nodeType": "VariableDeclaration", - "src": "1347:46:40", + "src": "1347:46:46", "nodes": [], "constant": false, "functionSelector": "50e56ca2", "mutability": "immutable", "name": "publicImmutableNumber", - "nameLocation": "1372:21:40", - "scope": 46890, + "nameLocation": "1372:21:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1193,10 +1193,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46768, + "id": 47916, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1347:7:40", + "src": "1347:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1205,16 +1205,16 @@ "visibility": "public" }, { - "id": 46771, + "id": 47919, "nodeType": "VariableDeclaration", - "src": "1400:19:40", + "src": "1400:19:46", "nodes": [], "constant": false, "functionSelector": "767800de", "mutability": "mutable", "name": "addr", - "nameLocation": "1415:4:40", - "scope": 46890, + "nameLocation": "1415:4:46", + "scope": 48038, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1222,10 +1222,10 @@ "typeString": "address" }, "typeName": { - "id": 46770, + "id": 47918, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1400:7:40", + "src": "1400:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1235,30 +1235,30 @@ "visibility": "public" }, { - "id": 46793, + "id": 47941, "nodeType": "FunctionDefinition", - "src": "1426:292:40", + "src": "1426:292:46", "nodes": [], "body": { - "id": 46792, + "id": 47940, "nodeType": "Block", - "src": "1537:181:40", + "src": "1537:181:46", "nodes": [], "statements": [ { "expression": { - "id": 46782, + "id": 47930, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 46780, + "id": 47928, "name": "privateImmutableNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46765, - "src": "1547:22:40", + "referencedDeclaration": 47913, + "src": "1547:22:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1267,41 +1267,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 46781, + "id": 47929, "name": "_privateImmutableNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46773, - "src": "1572:23:40", + "referencedDeclaration": 47921, + "src": "1572:23:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1547:48:40", + "src": "1547:48:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 46783, + "id": 47931, "nodeType": "ExpressionStatement", - "src": "1547:48:40" + "src": "1547:48:46" }, { "expression": { - "id": 46786, + "id": 47934, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 46784, + "id": 47932, "name": "internalImmutableNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46767, - "src": "1605:23:40", + "referencedDeclaration": 47915, + "src": "1605:23:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1310,41 +1310,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 46785, + "id": 47933, "name": "_internalImmutableNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46775, - "src": "1631:24:40", + "referencedDeclaration": 47923, + "src": "1631:24:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1605:50:40", + "src": "1605:50:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 46787, + "id": 47935, "nodeType": "ExpressionStatement", - "src": "1605:50:40" + "src": "1605:50:46" }, { "expression": { - "id": 46790, + "id": 47938, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 46788, + "id": 47936, "name": "publicImmutableNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46769, - "src": "1665:21:40", + "referencedDeclaration": 47917, + "src": "1665:21:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1353,26 +1353,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 46789, + "id": 47937, "name": "_publicImmutableNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46777, - "src": "1689:22:40", + "referencedDeclaration": 47925, + "src": "1689:22:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1665:46:40", + "src": "1665:46:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 46791, + "id": 47939, "nodeType": "ExpressionStatement", - "src": "1665:46:40" + "src": "1665:46:46" } ] }, @@ -1382,18 +1382,18 @@ "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 46778, + "id": 47926, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46773, + "id": 47921, "mutability": "mutable", "name": "_privateImmutableNumber", - "nameLocation": "1446:23:40", + "nameLocation": "1446:23:46", "nodeType": "VariableDeclaration", - "scope": 46793, - "src": "1438:31:40", + "scope": 47941, + "src": "1438:31:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1401,10 +1401,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46772, + "id": 47920, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1438:7:40", + "src": "1438:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1414,13 +1414,13 @@ }, { "constant": false, - "id": 46775, + "id": 47923, "mutability": "mutable", "name": "_internalImmutableNumber", - "nameLocation": "1479:24:40", + "nameLocation": "1479:24:46", "nodeType": "VariableDeclaration", - "scope": 46793, - "src": "1471:32:40", + "scope": 47941, + "src": "1471:32:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1428,10 +1428,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46774, + "id": 47922, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1471:7:40", + "src": "1471:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1441,13 +1441,13 @@ }, { "constant": false, - "id": 46777, + "id": 47925, "mutability": "mutable", "name": "_publicImmutableNumber", - "nameLocation": "1513:22:40", + "nameLocation": "1513:22:46", "nodeType": "VariableDeclaration", - "scope": 46793, - "src": "1505:30:40", + "scope": 47941, + "src": "1505:30:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1455,10 +1455,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46776, + "id": 47924, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1505:7:40", + "src": "1505:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1467,43 +1467,43 @@ "visibility": "internal" } ], - "src": "1437:99:40" + "src": "1437:99:46" }, "returnParameters": { - "id": 46779, + "id": 47927, "nodeType": "ParameterList", "parameters": [], - "src": "1537:0:40" + "src": "1537:0:46" }, - "scope": 46890, + "scope": 48038, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 46795, + "id": 47943, "nodeType": "ErrorDefinition", - "src": "1724:25:40", + "src": "1724:25:46", "nodes": [], "errorSelector": "3efa09af", "name": "ZeroAddressError", - "nameLocation": "1730:16:40", + "nameLocation": "1730:16:46", "parameters": { - "id": 46794, + "id": 47942, "nodeType": "ParameterList", "parameters": [], - "src": "1746:2:40" + "src": "1746:2:46" } }, { - "id": 46815, + "id": 47963, "nodeType": "FunctionDefinition", - "src": "1755:145:40", + "src": "1755:145:46", "nodes": [], "body": { - "id": 46814, + "id": 47962, "nodeType": "Block", - "src": "1807:93:40", + "src": "1807:93:46", "nodes": [], "statements": [ { @@ -1512,18 +1512,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 46805, + "id": 47953, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 46800, + "id": 47948, "name": "newAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46797, - "src": "1821:7:40", + "referencedDeclaration": 47945, + "src": "1821:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1535,14 +1535,14 @@ "arguments": [ { "hexValue": "30", - "id": 46803, + "id": 47951, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1840:1:40", + "src": "1840:1:46", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -1557,26 +1557,26 @@ "typeString": "int_const 0" } ], - "id": 46802, + "id": 47950, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1832:7:40", + "src": "1832:7:46", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 46801, + "id": 47949, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1832:7:40", + "src": "1832:7:46", "typeDescriptions": {} } }, - "id": 46804, + "id": 47952, "isConstant": false, "isLValue": false, "isPure": true, @@ -1585,39 +1585,39 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1832:10:40", + "src": "1832:10:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1821:21:40", + "src": "1821:21:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 46809, + "id": 47957, "nodeType": "IfStatement", - "src": "1817:52:40", + "src": "1817:52:46", "trueBody": { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 46806, + "id": 47954, "name": "ZeroAddressError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46795, - "src": "1851:16:40", + "referencedDeclaration": 47943, + "src": "1851:16:46", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 46807, + "id": 47955, "isConstant": false, "isLValue": false, "isPure": false, @@ -1626,32 +1626,32 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1851:18:40", + "src": "1851:18:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 46808, + "id": 47956, "nodeType": "RevertStatement", - "src": "1844:25:40" + "src": "1844:25:46" } }, { "expression": { - "id": 46812, + "id": 47960, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 46810, + "id": 47958, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46771, - "src": "1879:4:40", + "referencedDeclaration": 47919, + "src": "1879:4:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1660,26 +1660,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 46811, + "id": 47959, "name": "newAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46797, - "src": "1886:7:40", + "referencedDeclaration": 47945, + "src": "1886:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1879:14:40", + "src": "1879:14:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 46813, + "id": 47961, "nodeType": "ExpressionStatement", - "src": "1879:14:40" + "src": "1879:14:46" } ] }, @@ -1688,20 +1688,20 @@ "kind": "function", "modifiers": [], "name": "setAddrNoZeroError", - "nameLocation": "1764:18:40", + "nameLocation": "1764:18:46", "parameters": { - "id": 46798, + "id": 47946, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46797, + "id": 47945, "mutability": "mutable", "name": "newAddr", - "nameLocation": "1791:7:40", + "nameLocation": "1791:7:46", "nodeType": "VariableDeclaration", - "scope": 46815, - "src": "1783:15:40", + "scope": 47963, + "src": "1783:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1709,10 +1709,10 @@ "typeString": "address" }, "typeName": { - "id": 46796, + "id": 47944, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1783:7:40", + "src": "1783:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1722,28 +1722,28 @@ "visibility": "internal" } ], - "src": "1782:17:40" + "src": "1782:17:46" }, "returnParameters": { - "id": 46799, + "id": 47947, "nodeType": "ParameterList", "parameters": [], - "src": "1807:0:40" + "src": "1807:0:46" }, - "scope": 46890, + "scope": 48038, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 46835, + "id": 47983, "nodeType": "FunctionDefinition", - "src": "1906:151:40", + "src": "1906:151:46", "nodes": [], "body": { - "id": 46834, + "id": 47982, "nodeType": "Block", - "src": "1960:97:40", + "src": "1960:97:46", "nodes": [], "statements": [ { @@ -1754,18 +1754,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 46826, + "id": 47974, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 46821, + "id": 47969, "name": "newAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46817, - "src": "1978:7:40", + "referencedDeclaration": 47965, + "src": "1978:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1777,14 +1777,14 @@ "arguments": [ { "hexValue": "30", - "id": 46824, + "id": 47972, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1997:1:40", + "src": "1997:1:46", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -1799,26 +1799,26 @@ "typeString": "int_const 0" } ], - "id": 46823, + "id": 47971, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1989:7:40", + "src": "1989:7:46", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 46822, + "id": 47970, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1989:7:40", + "src": "1989:7:46", "typeDescriptions": {} } }, - "id": 46825, + "id": 47973, "isConstant": false, "isLValue": false, "isPure": true, @@ -1827,14 +1827,14 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1989:10:40", + "src": "1989:10:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1978:21:40", + "src": "1978:21:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1842,14 +1842,14 @@ }, { "hexValue": "416464726573732063616e6e6f74206265207a65726f", - "id": 46827, + "id": 47975, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2001:24:40", + "src": "2001:24:46", "typeDescriptions": { "typeIdentifier": "t_stringliteral_59b3ca4f4ff5f725ba59657612982eb6e881c63b17d02fcea1c44c9baadb095b", "typeString": "literal_string \"Address cannot be zero\"" @@ -1868,7 +1868,7 @@ "typeString": "literal_string \"Address cannot be zero\"" } ], - "id": 46820, + "id": 47968, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1876,13 +1876,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1970:7:40", + "src": "1970:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 46828, + "id": 47976, "isConstant": false, "isLValue": false, "isPure": false, @@ -1891,31 +1891,31 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1970:56:40", + "src": "1970:56:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 46829, + "id": 47977, "nodeType": "ExpressionStatement", - "src": "1970:56:40" + "src": "1970:56:46" }, { "expression": { - "id": 46832, + "id": 47980, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 46830, + "id": 47978, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46771, - "src": "2036:4:40", + "referencedDeclaration": 47919, + "src": "2036:4:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1924,26 +1924,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 46831, + "id": 47979, "name": "newAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46817, - "src": "2043:7:40", + "referencedDeclaration": 47965, + "src": "2043:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2036:14:40", + "src": "2036:14:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 46833, + "id": 47981, "nodeType": "ExpressionStatement", - "src": "2036:14:40" + "src": "2036:14:46" } ] }, @@ -1952,20 +1952,20 @@ "kind": "function", "modifiers": [], "name": "setAddrNoZeroRequire", - "nameLocation": "1915:20:40", + "nameLocation": "1915:20:46", "parameters": { - "id": 46818, + "id": 47966, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46817, + "id": 47965, "mutability": "mutable", "name": "newAddr", - "nameLocation": "1944:7:40", + "nameLocation": "1944:7:46", "nodeType": "VariableDeclaration", - "scope": 46835, - "src": "1936:15:40", + "scope": 47983, + "src": "1936:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1973,10 +1973,10 @@ "typeString": "address" }, "typeName": { - "id": 46816, + "id": 47964, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1936:7:40", + "src": "1936:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1986,44 +1986,44 @@ "visibility": "internal" } ], - "src": "1935:17:40" + "src": "1935:17:46" }, "returnParameters": { - "id": 46819, + "id": 47967, "nodeType": "ParameterList", "parameters": [], - "src": "1960:0:40" + "src": "1960:0:46" }, - "scope": 46890, + "scope": 48038, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 46845, + "id": 47993, "nodeType": "FunctionDefinition", - "src": "2063:79:40", + "src": "2063:79:46", "nodes": [], "body": { - "id": 46844, + "id": 47992, "nodeType": "Block", - "src": "2111:31:40", + "src": "2111:31:46", "nodes": [], "statements": [ { "expression": { - "id": 46842, + "id": 47990, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 46840, + "id": 47988, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46771, - "src": "2121:4:40", + "referencedDeclaration": 47919, + "src": "2121:4:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2032,26 +2032,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 46841, + "id": 47989, "name": "newAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46837, - "src": "2128:7:40", + "referencedDeclaration": 47985, + "src": "2128:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2121:14:40", + "src": "2121:14:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 46843, + "id": 47991, "nodeType": "ExpressionStatement", - "src": "2121:14:40" + "src": "2121:14:46" } ] }, @@ -2060,20 +2060,20 @@ "kind": "function", "modifiers": [], "name": "setAddrNoCheck", - "nameLocation": "2072:14:40", + "nameLocation": "2072:14:46", "parameters": { - "id": 46838, + "id": 47986, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46837, + "id": 47985, "mutability": "mutable", "name": "newAddr", - "nameLocation": "2095:7:40", + "nameLocation": "2095:7:46", "nodeType": "VariableDeclaration", - "scope": 46845, - "src": "2087:15:40", + "scope": 47993, + "src": "2087:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2081,10 +2081,10 @@ "typeString": "address" }, "typeName": { - "id": 46836, + "id": 47984, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2087:7:40", + "src": "2087:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2094,44 +2094,44 @@ "visibility": "internal" } ], - "src": "2086:17:40" + "src": "2086:17:46" }, "returnParameters": { - "id": 46839, + "id": 47987, "nodeType": "ParameterList", "parameters": [], - "src": "2111:0:40" + "src": "2111:0:46" }, - "scope": 46890, + "scope": 48038, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 46867, + "id": 48015, "nodeType": "FunctionDefinition", - "src": "2148:376:40", + "src": "2148:376:46", "nodes": [], "body": { - "id": 46866, + "id": 48014, "nodeType": "Block", - "src": "2325:199:40", + "src": "2325:199:46", "nodes": [], "statements": [ { "expression": { - "id": 46856, + "id": 48004, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 46854, + "id": 48002, "name": "emptyAlteredPrivateNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46741, - "src": "2335:25:40", + "referencedDeclaration": 47889, + "src": "2335:25:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2140,41 +2140,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 46855, + "id": 48003, "name": "_emptyAlteredPrivateNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46847, - "src": "2363:26:40", + "referencedDeclaration": 47995, + "src": "2363:26:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2335:54:40", + "src": "2335:54:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 46857, + "id": 48005, "nodeType": "ExpressionStatement", - "src": "2335:54:40" + "src": "2335:54:46" }, { "expression": { - "id": 46860, + "id": 48008, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 46858, + "id": 48006, "name": "emptyAlteredInternalNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46743, - "src": "2399:26:40", + "referencedDeclaration": 47891, + "src": "2399:26:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2183,41 +2183,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 46859, + "id": 48007, "name": "_emptyAlteredInternalNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46849, - "src": "2428:27:40", + "referencedDeclaration": 47997, + "src": "2428:27:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2399:56:40", + "src": "2399:56:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 46861, + "id": 48009, "nodeType": "ExpressionStatement", - "src": "2399:56:40" + "src": "2399:56:46" }, { "expression": { - "id": 46864, + "id": 48012, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 46862, + "id": 48010, "name": "emptyAlteredPublicNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46745, - "src": "2465:24:40", + "referencedDeclaration": 47893, + "src": "2465:24:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2226,26 +2226,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 46863, + "id": 48011, "name": "_emptyAlteredPublicNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46851, - "src": "2492:25:40", + "referencedDeclaration": 47999, + "src": "2492:25:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2465:52:40", + "src": "2465:52:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 46865, + "id": 48013, "nodeType": "ExpressionStatement", - "src": "2465:52:40" + "src": "2465:52:46" } ] }, @@ -2254,20 +2254,20 @@ "kind": "function", "modifiers": [], "name": "setEmptyAlteredNumbers", - "nameLocation": "2157:22:40", + "nameLocation": "2157:22:46", "parameters": { - "id": 46852, + "id": 48000, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46847, + "id": 47995, "mutability": "mutable", "name": "_emptyAlteredPrivateNumber", - "nameLocation": "2197:26:40", + "nameLocation": "2197:26:46", "nodeType": "VariableDeclaration", - "scope": 46867, - "src": "2189:34:40", + "scope": 48015, + "src": "2189:34:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2275,10 +2275,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46846, + "id": 47994, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2189:7:40", + "src": "2189:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2288,13 +2288,13 @@ }, { "constant": false, - "id": 46849, + "id": 47997, "mutability": "mutable", "name": "_emptyAlteredInternalNumber", - "nameLocation": "2241:27:40", + "nameLocation": "2241:27:46", "nodeType": "VariableDeclaration", - "scope": 46867, - "src": "2233:35:40", + "scope": 48015, + "src": "2233:35:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2302,10 +2302,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46848, + "id": 47996, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2233:7:40", + "src": "2233:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2315,13 +2315,13 @@ }, { "constant": false, - "id": 46851, + "id": 47999, "mutability": "mutable", "name": "_emptyAlteredPublicNumber", - "nameLocation": "2286:25:40", + "nameLocation": "2286:25:46", "nodeType": "VariableDeclaration", - "scope": 46867, - "src": "2278:33:40", + "scope": 48015, + "src": "2278:33:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2329,10 +2329,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46850, + "id": 47998, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2278:7:40", + "src": "2278:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2341,44 +2341,44 @@ "visibility": "internal" } ], - "src": "2179:138:40" + "src": "2179:138:46" }, "returnParameters": { - "id": 46853, + "id": 48001, "nodeType": "ParameterList", "parameters": [], - "src": "2325:0:40" + "src": "2325:0:46" }, - "scope": 46890, + "scope": 48038, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 46889, + "id": 48037, "nodeType": "FunctionDefinition", - "src": "2530:406:40", + "src": "2530:406:46", "nodes": [], "body": { - "id": 46888, + "id": 48036, "nodeType": "Block", - "src": "2719:217:40", + "src": "2719:217:46", "nodes": [], "statements": [ { "expression": { - "id": 46878, + "id": 48026, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 46876, + "id": 48024, "name": "nonEmptyAlteredPrivateNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46748, - "src": "2729:28:40", + "referencedDeclaration": 47896, + "src": "2729:28:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2387,41 +2387,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 46877, + "id": 48025, "name": "_nonEmptyAlteredPrivateNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46869, - "src": "2760:29:40", + "referencedDeclaration": 48017, + "src": "2760:29:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2729:60:40", + "src": "2729:60:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 46879, + "id": 48027, "nodeType": "ExpressionStatement", - "src": "2729:60:40" + "src": "2729:60:46" }, { "expression": { - "id": 46882, + "id": 48030, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 46880, + "id": 48028, "name": "nonEmptyAlteredInternalNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46751, - "src": "2799:29:40", + "referencedDeclaration": 47899, + "src": "2799:29:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2430,41 +2430,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 46881, + "id": 48029, "name": "_nonEmptyAlteredInternalNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46871, - "src": "2831:30:40", + "referencedDeclaration": 48019, + "src": "2831:30:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2799:62:40", + "src": "2799:62:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 46883, + "id": 48031, "nodeType": "ExpressionStatement", - "src": "2799:62:40" + "src": "2799:62:46" }, { "expression": { - "id": 46886, + "id": 48034, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 46884, + "id": 48032, "name": "nonEmptyAlteredPublicNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46754, - "src": "2871:27:40", + "referencedDeclaration": 47902, + "src": "2871:27:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2473,26 +2473,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 46885, + "id": 48033, "name": "_nonEmptyAlteredPublicNumber", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46873, - "src": "2901:28:40", + "referencedDeclaration": 48021, + "src": "2901:28:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2871:58:40", + "src": "2871:58:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 46887, + "id": 48035, "nodeType": "ExpressionStatement", - "src": "2871:58:40" + "src": "2871:58:46" } ] }, @@ -2501,20 +2501,20 @@ "kind": "function", "modifiers": [], "name": "setNonEmptyAlteredNumbers", - "nameLocation": "2539:25:40", + "nameLocation": "2539:25:46", "parameters": { - "id": 46874, + "id": 48022, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46869, + "id": 48017, "mutability": "mutable", "name": "_nonEmptyAlteredPrivateNumber", - "nameLocation": "2582:29:40", + "nameLocation": "2582:29:46", "nodeType": "VariableDeclaration", - "scope": 46889, - "src": "2574:37:40", + "scope": 48037, + "src": "2574:37:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2522,10 +2522,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46868, + "id": 48016, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2574:7:40", + "src": "2574:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2535,13 +2535,13 @@ }, { "constant": false, - "id": 46871, + "id": 48019, "mutability": "mutable", "name": "_nonEmptyAlteredInternalNumber", - "nameLocation": "2629:30:40", + "nameLocation": "2629:30:46", "nodeType": "VariableDeclaration", - "scope": 46889, - "src": "2621:38:40", + "scope": 48037, + "src": "2621:38:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2549,10 +2549,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46870, + "id": 48018, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2621:7:40", + "src": "2621:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2562,13 +2562,13 @@ }, { "constant": false, - "id": 46873, + "id": 48021, "mutability": "mutable", "name": "_nonEmptyAlteredPublicNumber", - "nameLocation": "2677:28:40", + "nameLocation": "2677:28:46", "nodeType": "VariableDeclaration", - "scope": 46889, - "src": "2669:36:40", + "scope": 48037, + "src": "2669:36:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2576,10 +2576,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46872, + "id": 48020, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2669:7:40", + "src": "2669:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2588,15 +2588,15 @@ "visibility": "internal" } ], - "src": "2564:147:40" + "src": "2564:147:46" }, "returnParameters": { - "id": 46875, + "id": 48023, "nodeType": "ParameterList", "parameters": [], - "src": "2719:0:40" + "src": "2719:0:46" }, - "scope": 46890, + "scope": 48038, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" @@ -2609,18 +2609,18 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 46890 + 48038 ], "name": "StateVariables", - "nameLocation": "106:14:40", - "scope": 46891, + "nameLocation": "106:14:46", + "scope": 48039, "usedErrors": [ - 46795 + 47943 ], "usedEvents": [] } ], "license": "MIT" }, - "id": 40 + "id": 46 } \ No newline at end of file diff --git a/tests/contract-playground/out/StdAssertions.sol/StdAssertions.json b/tests/contract-playground/out/StdAssertions.sol/StdAssertions.json index adfe36579..b317ee343 100644 --- a/tests/contract-playground/out/StdAssertions.sol/StdAssertions.json +++ b/tests/contract-playground/out/StdAssertions.sol/StdAssertions.json @@ -405,7 +405,7 @@ "IS_TEST()": "fa7626d4", "failed()": "ba414fa6" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdAssertions.sol\":\"StdAssertions\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdAssertions.sol\":\"StdAssertions\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -822,7 +822,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/StdChains.sol/StdChains.json b/tests/contract-playground/out/StdChains.sol/StdChains.json index e0bb94a66..e188f73ba 100644 --- a/tests/contract-playground/out/StdChains.sol/StdChains.json +++ b/tests/contract-playground/out/StdChains.sol/StdChains.json @@ -11,7 +11,7 @@ "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"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.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdChains.sol\":\"StdChains\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d\",\"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"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.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdChains.sol\":\"StdChains\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d\",\"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/StdCheats.sol/StdCheats.json b/tests/contract-playground/out/StdCheats.sol/StdCheats.json index 626f16b4e..6d5599ba5 100644 --- a/tests/contract-playground/out/StdCheats.sol/StdCheats.json +++ b/tests/contract-playground/out/StdCheats.sol/StdCheats.json @@ -11,7 +11,7 @@ "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheats\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheats\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/StdCheats.sol/StdCheatsSafe.json b/tests/contract-playground/out/StdCheats.sol/StdCheatsSafe.json index a98e48d8e..7b694323d 100644 --- a/tests/contract-playground/out/StdCheats.sol/StdCheatsSafe.json +++ b/tests/contract-playground/out/StdCheats.sol/StdCheatsSafe.json @@ -11,7 +11,7 @@ "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheatsSafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheatsSafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/StdError.sol/stdError.json b/tests/contract-playground/out/StdError.sol/stdError.json index 9485cadfc..86d4a1613 100644 --- a/tests/contract-playground/out/StdError.sol/stdError.json +++ b/tests/contract-playground/out/StdError.sol/stdError.json @@ -119,13 +119,13 @@ } ], "bytecode": { - "object": "0x61024f61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009d5760003560e01c8063986c5f6811610070578063986c5f68146100d8578063b22dc54d146100e0578063b67689da146100e8578063d160e4de146100f0578063fa784a44146100f857600080fd5b806305ee8612146100a257806310332977146100c05780631de45560146100c85780638995290f146100d0575b600080fd5b6100aa610100565b6040516100b791906101cb565b60405180910390f35b6100aa61013b565b6100aa61014d565b6100aa61015f565b6100aa610171565b6100aa610183565b6100aa610195565b6100aa6101a7565b6100aa6101b9565b604051603260248201526044015b60408051601f198184030181529190526020810180516001600160e01b0316634e487b7160e01b17905281565b6040516001602482015260440161010e565b6040516021602482015260440161010e565b6040516011602482015260440161010e565b6040516041602482015260440161010e565b6040516031602482015260440161010e565b6040516051602482015260440161010e565b6040516022602482015260440161010e565b6040516012602482015260440161010e565b600060208083528351808285015260005b818110156101f8578581018301518582016040015282016101dc565b506000604082860101526040601f19601f830116850101925050509291505056fea264697066735822122094b439da3535fa703d17d0ec1eaabf428fb360fc984f10b7fd7078718e9a4b5d64736f6c63430008140033", + "object": "0x61024f61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009d5760003560e01c8063986c5f6811610070578063986c5f68146100d8578063b22dc54d146100e0578063b67689da146100e8578063d160e4de146100f0578063fa784a44146100f857600080fd5b806305ee8612146100a257806310332977146100c05780631de45560146100c85780638995290f146100d0575b600080fd5b6100aa610100565b6040516100b791906101cb565b60405180910390f35b6100aa61013b565b6100aa61014d565b6100aa61015f565b6100aa610171565b6100aa610183565b6100aa610195565b6100aa6101a7565b6100aa6101b9565b604051603260248201526044015b60408051601f198184030181529190526020810180516001600160e01b0316634e487b7160e01b17905281565b6040516001602482015260440161010e565b6040516021602482015260440161010e565b6040516011602482015260440161010e565b6040516041602482015260440161010e565b6040516031602482015260440161010e565b6040516051602482015260440161010e565b6040516022602482015260440161010e565b6040516012602482015260440161010e565b600060208083528351808285015260005b818110156101f8578581018301518582016040015282016101dc565b506000604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220959b6b5b522511f3b415445bdafbde0cdd46213cd07257d851c300d73d5aa85264736f6c63430008140033", "sourceMap": "162:850:6:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;162:850:6;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x730000000000000000000000000000000000000000301460806040526004361061009d5760003560e01c8063986c5f6811610070578063986c5f68146100d8578063b22dc54d146100e0578063b67689da146100e8578063d160e4de146100f0578063fa784a44146100f857600080fd5b806305ee8612146100a257806310332977146100c05780631de45560146100c85780638995290f146100d0575b600080fd5b6100aa610100565b6040516100b791906101cb565b60405180910390f35b6100aa61013b565b6100aa61014d565b6100aa61015f565b6100aa610171565b6100aa610183565b6100aa610195565b6100aa6101a7565b6100aa6101b9565b604051603260248201526044015b60408051601f198184030181529190526020810180516001600160e01b0316634e487b7160e01b17905281565b6040516001602482015260440161010e565b6040516021602482015260440161010e565b6040516011602482015260440161010e565b6040516041602482015260440161010e565b6040516031602482015260440161010e565b6040516051602482015260440161010e565b6040516022602482015260440161010e565b6040516012602482015260440161010e565b600060208083528351808285015260005b818110156101f8578581018301518582016040015282016101dc565b506000604082860101526040601f19601f830116850101925050509291505056fea264697066735822122094b439da3535fa703d17d0ec1eaabf428fb360fc984f10b7fd7078718e9a4b5d64736f6c63430008140033", - "sourceMap": "162:850:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;740:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;185:86;;;:::i;461:91::-;;;:::i;277:87::-;;;:::i;831:88::-;;;:::i;654:80::-;;;:::i;925:84::-;;;:::i;558:90::-;;;:::i;370:85::-;;;:::i;740:::-;778:47;;820:4;778:47;;;726:36:46;699:18;;778:47:6;;;;-1:-1:-1;;778:47:6;;;;;;;;;;;;;;-1:-1:-1;;;;;778:47:6;-1:-1:-1;;;778:47:6;;;740:85;:::o;185:86::-;224:47;;266:4;224:47;;;726:36:46;699:18;;224:47:6;573:195:46;461:91:6;505:47;;547:4;505:47;;;726:36:46;699:18;;505:47:6;573:195:46;277:87:6;317:47;;359:4;317:47;;;726:36:46;699:18;;317:47:6;573:195:46;831:88:6;872:47;;914:4;872:47;;;726:36:46;699:18;;872:47:6;573:195:46;654:80:6;687:47;;729:4;687:47;;;726:36:46;699:18;;687:47:6;573:195:46;925:84:6;962:47;;1004:4;962:47;;;726:36:46;699:18;;962:47:6;573:195:46;558:90:6;601:47;;643:4;601:47;;;726:36:46;699:18;;601:47:6;573:195:46;370:85:6;408:47;;450:4;408:47;;;726:36:46;699:18;;408:47:6;573:195:46;14:554;132:4;161:2;190;179:9;172:21;222:6;216:13;265:6;260:2;249:9;245:18;238:34;290:1;300:140;314:6;311:1;308:13;300:140;;;409:14;;;405:23;;399:30;375:17;;;394:2;371:26;364:66;329:10;;300:140;;;304:3;489:1;484:2;475:6;464:9;460:22;456:31;449:42;559:2;552;548:7;543:2;535:6;531:15;527:29;516:9;512:45;508:54;500:62;;;;14:554;;;;:::o", + "object": "0x730000000000000000000000000000000000000000301460806040526004361061009d5760003560e01c8063986c5f6811610070578063986c5f68146100d8578063b22dc54d146100e0578063b67689da146100e8578063d160e4de146100f0578063fa784a44146100f857600080fd5b806305ee8612146100a257806310332977146100c05780631de45560146100c85780638995290f146100d0575b600080fd5b6100aa610100565b6040516100b791906101cb565b60405180910390f35b6100aa61013b565b6100aa61014d565b6100aa61015f565b6100aa610171565b6100aa610183565b6100aa610195565b6100aa6101a7565b6100aa6101b9565b604051603260248201526044015b60408051601f198184030181529190526020810180516001600160e01b0316634e487b7160e01b17905281565b6040516001602482015260440161010e565b6040516021602482015260440161010e565b6040516011602482015260440161010e565b6040516041602482015260440161010e565b6040516031602482015260440161010e565b6040516051602482015260440161010e565b6040516022602482015260440161010e565b6040516012602482015260440161010e565b600060208083528351808285015260005b818110156101f8578581018301518582016040015282016101dc565b506000604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220959b6b5b522511f3b415445bdafbde0cdd46213cd07257d851c300d73d5aa85264736f6c63430008140033", + "sourceMap": "162:850:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;740:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;185:86;;;:::i;461:91::-;;;:::i;277:87::-;;;:::i;831:88::-;;;:::i;654:80::-;;;:::i;925:84::-;;;:::i;558:90::-;;;:::i;370:85::-;;;:::i;740:::-;778:47;;820:4;778:47;;;726:36:55;699:18;;778:47:6;;;;-1:-1:-1;;778:47:6;;;;;;;;;;;;;;-1:-1:-1;;;;;778:47:6;-1:-1:-1;;;778:47:6;;;740:85;:::o;185:86::-;224:47;;266:4;224:47;;;726:36:55;699:18;;224:47:6;573:195:55;461:91:6;505:47;;547:4;505:47;;;726:36:55;699:18;;505:47:6;573:195:55;277:87:6;317:47;;359:4;317:47;;;726:36:55;699:18;;317:47:6;573:195:55;831:88:6;872:47;;914:4;872:47;;;726:36:55;699:18;;872:47:6;573:195:55;654:80:6;687:47;;729:4;687:47;;;726:36:55;699:18;;687:47:6;573:195:55;925:84:6;962:47;;1004:4;962:47;;;726:36:55;699:18;;962:47:6;573:195:55;558:90:6;601:47;;643:4;601:47;;;726:36:55;699:18;;601:47:6;573:195:55;370:85:6;408:47;;450:4;408:47;;;726:36:55;699:18;;408:47:6;573:195:55;14:554;132:4;161:2;190;179:9;172:21;222:6;216:13;265:6;260:2;249:9;245:18;238:34;290:1;300:140;314:6;311:1;308:13;300:140;;;409:14;;;405:23;;399:30;375:17;;;394:2;371:26;364:66;329:10;;300:140;;;304:3;489:1;484:2;475:6;464:9;460:22;456:31;449:42;559:2;552;548:7;543:2;535:6;531:15;527:29;516:9;512:45;508:54;500:62;;;;14:554;;;;:::o", "linkReferences": {} }, "methodIdentifiers": { @@ -139,7 +139,7 @@ "popError()": "b22dc54d", "zeroVarError()": "b67689da" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"arithmeticError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assertionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"divisionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeStorageError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enumConversionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"indexOOBError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"memOverflowError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"popError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zeroVarError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdError.sol\":\"stdError\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"arithmeticError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assertionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"divisionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeStorageError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enumConversionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"indexOOBError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"memOverflowError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"popError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zeroVarError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdError.sol\":\"stdError\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -283,7 +283,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/StdInvariant.sol/StdInvariant.json b/tests/contract-playground/out/StdInvariant.sol/StdInvariant.json index 1b0702fd2..33033d342 100644 --- a/tests/contract-playground/out/StdInvariant.sol/StdInvariant.json +++ b/tests/contract-playground/out/StdInvariant.sol/StdInvariant.json @@ -149,7 +149,7 @@ "targetSelectors()": "916a17c6", "targetSenders()": "3e5e3c23" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdInvariant.sol\":\"StdInvariant\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdInvariant.sol\":\"StdInvariant\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -304,7 +304,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/StdJson.sol/stdJson.json b/tests/contract-playground/out/StdJson.sol/stdJson.json index f8c420693..8a6ce2252 100644 --- a/tests/contract-playground/out/StdJson.sol/stdJson.json +++ b/tests/contract-playground/out/StdJson.sol/stdJson.json @@ -1,17 +1,17 @@ { "abi": [], "bytecode": { - "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c7b489fabae08f671ea5e7f837686829c3158de2107d47987e7eec014a64e1ee64736f6c63430008140033", + "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ea007aeccd011851c18b67efa45b3f8a93a5dad82632c841dd58566f5a3843d264736f6c63430008140033", "sourceMap": "830:5374:8:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;830:5374:8;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c7b489fabae08f671ea5e7f837686829c3158de2107d47987e7eec014a64e1ee64736f6c63430008140033", + "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ea007aeccd011851c18b67efa45b3f8a93a5dad82632c841dd58566f5a3843d264736f6c63430008140033", "sourceMap": "830:5374:8:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdJson.sol\":\"stdJson\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdJson.sol\":\"stdJson\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/StdMath.sol/stdMath.json b/tests/contract-playground/out/StdMath.sol/stdMath.json index 2b23d40f9..8313ddde8 100644 --- a/tests/contract-playground/out/StdMath.sol/stdMath.json +++ b/tests/contract-playground/out/StdMath.sol/stdMath.json @@ -1,17 +1,17 @@ { "abi": [], "bytecode": { - "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220898aba73048b8e8a4c65e7960bbdbd357c7739dca747f6fe4eef7f4789031abf64736f6c63430008140033", + "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122013e8e85536bd456e2c715102d6b885e8feb432faa5642aaac06275160abf4eda64736f6c63430008140033", "sourceMap": "65:1294:9:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;65:1294:9;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220898aba73048b8e8a4c65e7960bbdbd357c7739dca747f6fe4eef7f4789031abf64736f6c63430008140033", + "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122013e8e85536bd456e2c715102d6b885e8feb432faa5642aaac06275160abf4eda64736f6c63430008140033", "sourceMap": "65:1294:9:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdMath.sol\":\"stdMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdMath.sol\":\"stdMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/StdStorage.sol/stdStorage.json b/tests/contract-playground/out/StdStorage.sol/stdStorage.json index 7dac32e15..5927e0eb9 100644 --- a/tests/contract-playground/out/StdStorage.sol/stdStorage.json +++ b/tests/contract-playground/out/StdStorage.sol/stdStorage.json @@ -1,17 +1,17 @@ { "abi": [], "bytecode": { - "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122019800a1e3cb45dc7249ad8d671ffbabc866a47bc7ca04544927277cfbc26b66264736f6c63430008140033", + "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202501256f864726a9204fb6b0daf60d3de22fe1144372d61f7b40a1341f8531a964736f6c63430008140033", "sourceMap": "7339:4665:10:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;7339:4665:10;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122019800a1e3cb45dc7249ad8d671ffbabc866a47bc7ca04544927277cfbc26b66264736f6c63430008140033", + "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202501256f864726a9204fb6b0daf60d3de22fe1144372d61f7b40a1341f8531a964736f6c63430008140033", "sourceMap": "7339:4665:10:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorage\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorage\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/StdStorage.sol/stdStorageSafe.json b/tests/contract-playground/out/StdStorage.sol/stdStorageSafe.json index 944d6a47c..87144458c 100644 --- a/tests/contract-playground/out/StdStorage.sol/stdStorageSafe.json +++ b/tests/contract-playground/out/StdStorage.sol/stdStorageSafe.json @@ -52,17 +52,17 @@ } ], "bytecode": { - "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220049d4ab506fd953d1bf8b0ba683b98519721220cf72c0107fdf584ea0fa2e46264736f6c63430008140033", + "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203fdc23f5a4ee84796fdf1cd27161f08b5188834edc7259a92d6cb952e6d6423a64736f6c63430008140033", "sourceMap": "368:6969:10:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;368:6969:10;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220049d4ab506fd953d1bf8b0ba683b98519721220cf72c0107fdf584ea0fa2e46264736f6c63430008140033", + "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203fdc23f5a4ee84796fdf1cd27161f08b5188834edc7259a92d6cb952e6d6423a64736f6c63430008140033", "sourceMap": "368:6969:10:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"fsig\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"keysHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"SlotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"WARNING_UninitedSlot\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorageSafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"fsig\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"keysHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"SlotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"WARNING_UninitedSlot\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorageSafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -139,7 +139,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/StdStyle.sol/StdStyle.json b/tests/contract-playground/out/StdStyle.sol/StdStyle.json index 8749403cf..2ec42d3ff 100644 --- a/tests/contract-playground/out/StdStyle.sol/StdStyle.json +++ b/tests/contract-playground/out/StdStyle.sol/StdStyle.json @@ -1,17 +1,17 @@ { "abi": [], "bytecode": { - "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bbd1ff2b5a633575625d89b5e1cb894658a059ae355a51ec1db4459bb934d4d364736f6c63430008140033", + "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202ba0e22e2f7dd74f7b246761a7fcef1233d6896ab3dfabd3abdba900c0dd28c764736f6c63430008140033", "sourceMap": "100:10361:11:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;100:10361:11;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bbd1ff2b5a633575625d89b5e1cb894658a059ae355a51ec1db4459bb934d4d364736f6c63430008140033", + "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202ba0e22e2f7dd74f7b246761a7fcef1233d6896ab3dfabd3abdba900c0dd28c764736f6c63430008140033", "sourceMap": "100:10361:11:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStyle.sol\":\"StdStyle\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStyle.sol\":\"StdStyle\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/StdUtils.sol/StdUtils.json b/tests/contract-playground/out/StdUtils.sol/StdUtils.json index 431473c63..ca2b26e41 100644 --- a/tests/contract-playground/out/StdUtils.sol/StdUtils.json +++ b/tests/contract-playground/out/StdUtils.sol/StdUtils.json @@ -11,7 +11,7 @@ "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdUtils.sol\":\"StdUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdUtils.sol\":\"StdUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/StorageConditionals.sol/StorageConditionals.json b/tests/contract-playground/out/StorageConditionals.sol/StorageConditionals.json new file mode 100644 index 000000000..e8b5eeb64 --- /dev/null +++ b/tests/contract-playground/out/StorageConditionals.sol/StorageConditionals.json @@ -0,0 +1,2423 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "same", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "different", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [], + "name": "Different", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "Same", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "name": "differentOne", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "name": "differentThree", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "name": "differentTwo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "name": "sameButReversedOne", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "name": "sameButReversedThree", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "name": "sameButReversedTwo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "name": "sameOne", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "name": "sameThree", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "name": "sameTwo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x608060405234801561001057600080fd5b5060405161041738038061041783398101604081905261002f9161003d565b600091909155600155610061565b6000806040838503121561005057600080fd5b505080516020909101519092909150565b6103a7806100706000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063a4e9458611610066578063a4e94586146100e6578063a958d5d9146100f9578063dc11f8861461010c578063e0005bbf1461011f578063e20843811461013257600080fd5b80636a9a2fd61461009857806374409092146100ad5780637492afc8146100c05780637edfa2f8146100d3575b600080fd5b6100ab6100a636600461030d565b610145565b005b6100ab6100bb36600461030d565b61018d565b6100ab6100ce36600461030d565b6101c2565b6100ab6100e136600461030d565b6101fd565b6100ab6100f436600461030d565b610221565b6100ab61010736600461030d565b610245565b6100ab61011a36600461030d565b61027b565b6100ab61012d36600461030d565b6102c8565b6100ab61014036600461030d565b6102ec565b6000548110156101695760405160008051602061035283398151915290600090a150565b60405162461bcd60e51b815260040161018190610326565b60405180910390fd5b50565b600154811161018a576040517f66bfaa70206cc6739553241a928cf008db472cff6ffab1493bb5b8e93c19e31690600090a150565b80600054116101e35760405162461bcd60e51b815260040161018190610326565b60405160008051602061035283398151915290600090a150565b8060005411156101695760405160008051602061035283398151915290600090a150565b80600054111561018a5760405160008051602061035283398151915290600090a150565b600154811115610169576040517f66bfaa70206cc6739553241a928cf008db472cff6ffab1493bb5b8e93c19e31690600090a150565b600154811061029c5760405162461bcd60e51b815260040161018190610326565b6040517f66bfaa70206cc6739553241a928cf008db472cff6ffab1493bb5b8e93c19e31690600090a150565b60005481101561018a5760405160008051602061035283398151915290600090a150565b60005481106101e35760405162461bcd60e51b815260040161018190610326565b60006020828403121561031f57600080fd5b5035919050565b60208082526011908201527026bab9ba103132903632b9b9903a3430b760791b60408201526060019056fe6fbdfc61aa4e3a1edac7545bfa9e7b115bfa662b261d59065a61fce0d3674f78a2646970667358221220cd2f9a93a93c19df501a9eb517d16b52dc71a9c2b12bee34cbbb2ae11e2881cd64736f6c63430008140033", + "sourceMap": "57:1845:0:-:0;;;178:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;233:18;:25;;;;268:23;:35;57:1845;;14:245:1;93:6;101;154:2;142:9;133:7;129:23;125:32;122:52;;;170:1;167;160:12;122:52;-1:-1:-1;;193:16:1;;249:2;234:18;;;228:25;193:16;;228:25;;-1:-1:-1;14:245:1:o;:::-;57:1845:0;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063a4e9458611610066578063a4e94586146100e6578063a958d5d9146100f9578063dc11f8861461010c578063e0005bbf1461011f578063e20843811461013257600080fd5b80636a9a2fd61461009857806374409092146100ad5780637492afc8146100c05780637edfa2f8146100d3575b600080fd5b6100ab6100a636600461030d565b610145565b005b6100ab6100bb36600461030d565b61018d565b6100ab6100ce36600461030d565b6101c2565b6100ab6100e136600461030d565b6101fd565b6100ab6100f436600461030d565b610221565b6100ab61010736600461030d565b610245565b6100ab61011a36600461030d565b61027b565b6100ab61012d36600461030d565b6102c8565b6100ab61014036600461030d565b6102ec565b6000548110156101695760405160008051602061035283398151915290600090a150565b60405162461bcd60e51b815260040161018190610326565b60405180910390fd5b50565b600154811161018a576040517f66bfaa70206cc6739553241a928cf008db472cff6ffab1493bb5b8e93c19e31690600090a150565b80600054116101e35760405162461bcd60e51b815260040161018190610326565b60405160008051602061035283398151915290600090a150565b8060005411156101695760405160008051602061035283398151915290600090a150565b80600054111561018a5760405160008051602061035283398151915290600090a150565b600154811115610169576040517f66bfaa70206cc6739553241a928cf008db472cff6ffab1493bb5b8e93c19e31690600090a150565b600154811061029c5760405162461bcd60e51b815260040161018190610326565b6040517f66bfaa70206cc6739553241a928cf008db472cff6ffab1493bb5b8e93c19e31690600090a150565b60005481101561018a5760405160008051602061035283398151915290600090a150565b60005481106101e35760405162461bcd60e51b815260040161018190610326565b60006020828403121561031f57600080fd5b5035919050565b60208082526011908201527026bab9ba103132903632b9b9903a3430b760791b60408201526060019056fe6fbdfc61aa4e3a1edac7545bfa9e7b115bfa662b261d59065a61fce0d3674f78a2646970667358221220cd2f9a93a93c19df501a9eb517d16b52dc71a9c2b12bee34cbbb2ae11e2881cd64736f6c63430008140033", + "sourceMap": "57:1845:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;637:187;;;;;;:::i;:::-;;:::i;:::-;;1549:143;;;;;;:::i;:::-;;:::i;830:148::-;;;;;;:::i;:::-;;:::i;1128:198::-;;;;;;:::i;:::-;;:::i;984:138::-;;;;;;:::i;:::-;;:::i;1698:202::-;;;;;;:::i;:::-;;:::i;1391:152::-;;;;;;:::i;:::-;;:::i;504:127::-;;;;;;:::i;:::-;;:::i;361:137::-;;;;;;:::i;:::-;;:::i;637:187::-;704:18;;695:6;:27;691:127;;;743:6;;-1:-1:-1;;;;;;;;;;;743:6:0;;;;637:187;:::o;691:127::-;780:27;;-1:-1:-1;;;780:27:0;;;;;;;:::i;:::-;;;;;;;;691:127;637:187;:::o;1549:143::-;1620:23;;1610:6;:33;1606:80;;1664:11;;;;;;;1549:143;:::o;830:148::-;922:6;901:18;;:27;893:57;;;;-1:-1:-1;;;893:57:0;;;;;;;:::i;:::-;965:6;;-1:-1:-1;;;;;;;;;;;965:6:0;;;;830:148;:::o;1128:198::-;1218:6;1197:18;;:27;1193:127;;;1245:6;;-1:-1:-1;;;;;;;;;;;1245:6:0;;;;637:187;:::o;984:138::-;1072:6;1051:18;;:27;1047:69;;;1099:6;;-1:-1:-1;;;;;;;;;;;1099:6:0;;;;984:138;:::o;1698:202::-;1770:23;;1761:6;:32;1757:137;;;1814:11;;;;;;;637:187;:::o;1391:152::-;1465:23;;1456:6;:32;1448:62;;;;-1:-1:-1;;;1448:62:0;;;;;;;:::i;:::-;1525:11;;;;;;;1391:152;:::o;504:127::-;569:18;;560:6;:27;556:69;;;608:6;;-1:-1:-1;;;;;;;;;;;608:6:0;;;;504:127;:::o;361:137::-;430:18;;421:6;:27;413:57;;;;-1:-1:-1;;;413:57:0;;;;;;;:::i;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;199:341::-;401:2;383:21;;;440:2;420:18;;;413:30;-1:-1:-1;;;474:2:1;459:18;;452:47;531:2;516:18;;199:341::o", + "linkReferences": {} + }, + "methodIdentifiers": { + "differentOne(uint256)": "dc11f886", + "differentThree(uint256)": "a958d5d9", + "differentTwo(uint256)": "74409092", + "sameButReversedOne(uint256)": "7492afc8", + "sameButReversedThree(uint256)": "7edfa2f8", + "sameButReversedTwo(uint256)": "a4e94586", + "sameOne(uint256)": "e2084381", + "sameThree(uint256)": "6a9a2fd6", + "sameTwo(uint256)": "e0005bbf" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"same\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"different\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Different\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Same\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"differentOne\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"differentThree\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"differentTwo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"sameButReversedOne\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"sameButReversedThree\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"sameButReversedTwo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"sameOne\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"sameThree\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"sameTwo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/StorageConditionals.sol\":\"StorageConditionals\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"src/StorageConditionals.sol\":{\"keccak256\":\"0x36e6b6c3903e3c865694c1c26047d4d0a5079d967fd35c3058dec0c5c091a459\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0632f2794c7758420a4ee07c1034cb8fea8c3f08eaa10efae2d8c1b2057d52ae\",\"dweb:/ipfs/QmS3TAodQKv3GwdUd3F4xv3EGg4QGV1SMPgoZpAkM4qAWs\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.20+commit.a1b79de6" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "same", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "different", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "type": "event", + "name": "Different", + "anonymous": false + }, + { + "inputs": [], + "type": "event", + "name": "Same", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "differentOne" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "differentThree" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "differentTwo" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "sameButReversedOne" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "sameButReversedThree" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "sameButReversedTwo" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "sameOne" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "sameThree" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "sameTwo" + } + ], + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + }, + "settings": { + "remappings": [ + "ds-test/=lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/", + "openzeppelin/=lib/openzeppelin-contracts/contracts/", + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" + ], + "optimizer": { + "enabled": true, + "runs": 200 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "src/StorageConditionals.sol": "StorageConditionals" + }, + "libraries": {} + }, + "sources": { + "src/StorageConditionals.sol": { + "keccak256": "0x36e6b6c3903e3c865694c1c26047d4d0a5079d967fd35c3058dec0c5c091a459", + "urls": [ + "bzz-raw://0632f2794c7758420a4ee07c1034cb8fea8c3f08eaa10efae2d8c1b2057d52ae", + "dweb:/ipfs/QmS3TAodQKv3GwdUd3F4xv3EGg4QGV1SMPgoZpAkM4qAWs" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/StorageConditionals.sol", + "id": 174, + "exportedSymbols": { + "StorageConditionals": [ + 173 + ] + }, + "nodeType": "SourceUnit", + "src": "32:1870:0", + "nodes": [ + { + "id": 1, + "nodeType": "PragmaDirective", + "src": "32:23:0", + "nodes": [], + "literals": [ + "solidity", + "0.8", + ".20" + ] + }, + { + "id": 173, + "nodeType": "ContractDefinition", + "src": "57:1845:0", + "nodes": [ + { + "id": 3, + "nodeType": "VariableDeclaration", + "src": "92:34:0", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "s_sameConditionals", + "nameLocation": "108:18:0", + "scope": 173, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "92:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "id": 5, + "nodeType": "VariableDeclaration", + "src": "132:39:0", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "s_differentConditionals", + "nameLocation": "148:23:0", + "scope": 173, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "132:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "id": 21, + "nodeType": "FunctionDefinition", + "src": "178:132:0", + "nodes": [], + "body": { + "id": 20, + "nodeType": "Block", + "src": "223:87:0", + "nodes": [], + "statements": [ + { + "expression": { + "id": 14, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 12, + "name": "s_sameConditionals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "233:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 13, + "name": "same", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "254:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "233:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15, + "nodeType": "ExpressionStatement", + "src": "233:25:0" + }, + { + "expression": { + "id": 18, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 16, + "name": "s_differentConditionals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "268:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 17, + "name": "different", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "294:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "268:35:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19, + "nodeType": "ExpressionStatement", + "src": "268:35:0" + } + ] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 10, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7, + "mutability": "mutable", + "name": "same", + "nameLocation": "198:4:0", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "190:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "190:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9, + "mutability": "mutable", + "name": "different", + "nameLocation": "212:9:0", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "204:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "204:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "189:33:0" + }, + "returnParameters": { + "id": 11, + "nodeType": "ParameterList", + "parameters": [], + "src": "223:0:0" + }, + "scope": 173, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 23, + "nodeType": "EventDefinition", + "src": "342:13:0", + "nodes": [], + "anonymous": false, + "eventSelector": "6fbdfc61aa4e3a1edac7545bfa9e7b115bfa662b261d59065a61fce0d3674f78", + "name": "Same", + "nameLocation": "348:4:0", + "parameters": { + "id": 22, + "nodeType": "ParameterList", + "parameters": [], + "src": "352:2:0" + } + }, + { + "id": 39, + "nodeType": "FunctionDefinition", + "src": "361:137:0", + "nodes": [], + "body": { + "id": 38, + "nodeType": "Block", + "src": "403:95:0", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 31, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29, + "name": "number", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "421:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 30, + "name": "s_sameConditionals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "430:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "421:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d757374206265206c657373207468616e", + "id": 32, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "450:19:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_64615c1f63e5cd366e30e9f4c1f1477a3ddb1692ef3113fd65bc46244024576a", + "typeString": "literal_string \"Must be less than\"" + }, + "value": "Must be less than" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_64615c1f63e5cd366e30e9f4c1f1477a3ddb1692ef3113fd65bc46244024576a", + "typeString": "literal_string \"Must be less than\"" + } + ], + "id": 28, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "413:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 33, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "413:57:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34, + "nodeType": "ExpressionStatement", + "src": "413:57:0" + }, + { + "eventCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35, + "name": "Same", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "485:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 36, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "485:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 37, + "nodeType": "EmitStatement", + "src": "480:11:0" + } + ] + }, + "functionSelector": "e2084381", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sameOne", + "nameLocation": "370:7:0", + "parameters": { + "id": 26, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25, + "mutability": "mutable", + "name": "number", + "nameLocation": "386:6:0", + "nodeType": "VariableDeclaration", + "scope": 39, + "src": "378:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "378:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "377:16:0" + }, + "returnParameters": { + "id": 27, + "nodeType": "ParameterList", + "parameters": [], + "src": "403:0:0" + }, + "scope": 173, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 53, + "nodeType": "FunctionDefinition", + "src": "504:127:0", + "nodes": [], + "body": { + "id": 52, + "nodeType": "Block", + "src": "546:85:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44, + "name": "number", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41, + "src": "560:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 45, + "name": "s_sameConditionals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "569:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "560:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 51, + "nodeType": "IfStatement", + "src": "556:69:0", + "trueBody": { + "id": 50, + "nodeType": "Block", + "src": "589:36:0", + "statements": [ + { + "eventCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 47, + "name": "Same", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "608:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "608:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 49, + "nodeType": "EmitStatement", + "src": "603:11:0" + } + ] + } + } + ] + }, + "functionSelector": "e0005bbf", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sameTwo", + "nameLocation": "513:7:0", + "parameters": { + "id": 42, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41, + "mutability": "mutable", + "name": "number", + "nameLocation": "529:6:0", + "nodeType": "VariableDeclaration", + "scope": 53, + "src": "521:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "521:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "520:16:0" + }, + "returnParameters": { + "id": 43, + "nodeType": "ParameterList", + "parameters": [], + "src": "546:0:0" + }, + "scope": 173, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 72, + "nodeType": "FunctionDefinition", + "src": "637:187:0", + "nodes": [], + "body": { + "id": 71, + "nodeType": "Block", + "src": "681:143:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 60, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 58, + "name": "number", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55, + "src": "695:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 59, + "name": "s_sameConditionals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "704:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "695:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 69, + "nodeType": "Block", + "src": "766:52:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "4d757374206265206c657373207468616e", + "id": 66, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "787:19:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_64615c1f63e5cd366e30e9f4c1f1477a3ddb1692ef3113fd65bc46244024576a", + "typeString": "literal_string \"Must be less than\"" + }, + "value": "Must be less than" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_64615c1f63e5cd366e30e9f4c1f1477a3ddb1692ef3113fd65bc46244024576a", + "typeString": "literal_string \"Must be less than\"" + } + ], + "id": 65, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "780:6:0", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 67, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "780:27:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 68, + "nodeType": "ExpressionStatement", + "src": "780:27:0" + } + ] + }, + "id": 70, + "nodeType": "IfStatement", + "src": "691:127:0", + "trueBody": { + "id": 64, + "nodeType": "Block", + "src": "724:36:0", + "statements": [ + { + "eventCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 61, + "name": "Same", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "743:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 62, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "743:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 63, + "nodeType": "EmitStatement", + "src": "738:11:0" + } + ] + } + } + ] + }, + "functionSelector": "6a9a2fd6", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sameThree", + "nameLocation": "646:9:0", + "parameters": { + "id": 56, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55, + "mutability": "mutable", + "name": "number", + "nameLocation": "664:6:0", + "nodeType": "VariableDeclaration", + "scope": 72, + "src": "656:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 54, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "656:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "655:16:0" + }, + "returnParameters": { + "id": 57, + "nodeType": "ParameterList", + "parameters": [], + "src": "681:0:0" + }, + "scope": 173, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 88, + "nodeType": "FunctionDefinition", + "src": "830:148:0", + "nodes": [], + "body": { + "id": 87, + "nodeType": "Block", + "src": "883:95:0", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 80, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 78, + "name": "s_sameConditionals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "901:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 79, + "name": "number", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74, + "src": "922:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "901:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d757374206265206c657373207468616e", + "id": 81, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "930:19:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_64615c1f63e5cd366e30e9f4c1f1477a3ddb1692ef3113fd65bc46244024576a", + "typeString": "literal_string \"Must be less than\"" + }, + "value": "Must be less than" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_64615c1f63e5cd366e30e9f4c1f1477a3ddb1692ef3113fd65bc46244024576a", + "typeString": "literal_string \"Must be less than\"" + } + ], + "id": 77, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "893:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "893:57:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 83, + "nodeType": "ExpressionStatement", + "src": "893:57:0" + }, + { + "eventCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 84, + "name": "Same", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "965:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 85, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "965:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 86, + "nodeType": "EmitStatement", + "src": "960:11:0" + } + ] + }, + "functionSelector": "7492afc8", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sameButReversedOne", + "nameLocation": "839:18:0", + "parameters": { + "id": 75, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74, + "mutability": "mutable", + "name": "number", + "nameLocation": "866:6:0", + "nodeType": "VariableDeclaration", + "scope": 88, + "src": "858:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "858:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "857:16:0" + }, + "returnParameters": { + "id": 76, + "nodeType": "ParameterList", + "parameters": [], + "src": "883:0:0" + }, + "scope": 173, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 102, + "nodeType": "FunctionDefinition", + "src": "984:138:0", + "nodes": [], + "body": { + "id": 101, + "nodeType": "Block", + "src": "1037:85:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 95, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 93, + "name": "s_sameConditionals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "1051:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 94, + "name": "number", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 90, + "src": "1072:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1051:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 100, + "nodeType": "IfStatement", + "src": "1047:69:0", + "trueBody": { + "id": 99, + "nodeType": "Block", + "src": "1080:36:0", + "statements": [ + { + "eventCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 96, + "name": "Same", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "1099:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 97, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1099:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 98, + "nodeType": "EmitStatement", + "src": "1094:11:0" + } + ] + } + } + ] + }, + "functionSelector": "a4e94586", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sameButReversedTwo", + "nameLocation": "993:18:0", + "parameters": { + "id": 91, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 90, + "mutability": "mutable", + "name": "number", + "nameLocation": "1020:6:0", + "nodeType": "VariableDeclaration", + "scope": 102, + "src": "1012:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 89, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1012:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1011:16:0" + }, + "returnParameters": { + "id": 92, + "nodeType": "ParameterList", + "parameters": [], + "src": "1037:0:0" + }, + "scope": 173, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 121, + "nodeType": "FunctionDefinition", + "src": "1128:198:0", + "nodes": [], + "body": { + "id": 120, + "nodeType": "Block", + "src": "1183:143:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 107, + "name": "s_sameConditionals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "1197:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 108, + "name": "number", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 104, + "src": "1218:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1197:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 118, + "nodeType": "Block", + "src": "1268:52:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "4d757374206265206c657373207468616e", + "id": 115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1289:19:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_64615c1f63e5cd366e30e9f4c1f1477a3ddb1692ef3113fd65bc46244024576a", + "typeString": "literal_string \"Must be less than\"" + }, + "value": "Must be less than" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_64615c1f63e5cd366e30e9f4c1f1477a3ddb1692ef3113fd65bc46244024576a", + "typeString": "literal_string \"Must be less than\"" + } + ], + "id": 114, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "1282:6:0", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1282:27:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 117, + "nodeType": "ExpressionStatement", + "src": "1282:27:0" + } + ] + }, + "id": 119, + "nodeType": "IfStatement", + "src": "1193:127:0", + "trueBody": { + "id": 113, + "nodeType": "Block", + "src": "1226:36:0", + "statements": [ + { + "eventCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 110, + "name": "Same", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "1245:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1245:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 112, + "nodeType": "EmitStatement", + "src": "1240:11:0" + } + ] + } + } + ] + }, + "functionSelector": "7edfa2f8", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sameButReversedThree", + "nameLocation": "1137:20:0", + "parameters": { + "id": 105, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 104, + "mutability": "mutable", + "name": "number", + "nameLocation": "1166:6:0", + "nodeType": "VariableDeclaration", + "scope": 121, + "src": "1158:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 103, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1158:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1157:16:0" + }, + "returnParameters": { + "id": 106, + "nodeType": "ParameterList", + "parameters": [], + "src": "1183:0:0" + }, + "scope": 173, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 123, + "nodeType": "EventDefinition", + "src": "1367:18:0", + "nodes": [], + "anonymous": false, + "eventSelector": "66bfaa70206cc6739553241a928cf008db472cff6ffab1493bb5b8e93c19e316", + "name": "Different", + "nameLocation": "1373:9:0", + "parameters": { + "id": 122, + "nodeType": "ParameterList", + "parameters": [], + "src": "1382:2:0" + } + }, + { + "id": 139, + "nodeType": "FunctionDefinition", + "src": "1391:152:0", + "nodes": [], + "body": { + "id": 138, + "nodeType": "Block", + "src": "1438:105:0", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 129, + "name": "number", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125, + "src": "1456:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 130, + "name": "s_differentConditionals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "1465:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1456:32:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d757374206265206c657373207468616e", + "id": 132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1490:19:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_64615c1f63e5cd366e30e9f4c1f1477a3ddb1692ef3113fd65bc46244024576a", + "typeString": "literal_string \"Must be less than\"" + }, + "value": "Must be less than" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_64615c1f63e5cd366e30e9f4c1f1477a3ddb1692ef3113fd65bc46244024576a", + "typeString": "literal_string \"Must be less than\"" + } + ], + "id": 128, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1448:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1448:62:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 134, + "nodeType": "ExpressionStatement", + "src": "1448:62:0" + }, + { + "eventCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 135, + "name": "Different", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123, + "src": "1525:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1525:11:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 137, + "nodeType": "EmitStatement", + "src": "1520:16:0" + } + ] + }, + "functionSelector": "dc11f886", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "differentOne", + "nameLocation": "1400:12:0", + "parameters": { + "id": 126, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 125, + "mutability": "mutable", + "name": "number", + "nameLocation": "1421:6:0", + "nodeType": "VariableDeclaration", + "scope": 139, + "src": "1413:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 124, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1413:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1412:16:0" + }, + "returnParameters": { + "id": 127, + "nodeType": "ParameterList", + "parameters": [], + "src": "1438:0:0" + }, + "scope": 173, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 153, + "nodeType": "FunctionDefinition", + "src": "1549:143:0", + "nodes": [], + "body": { + "id": 152, + "nodeType": "Block", + "src": "1596:96:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 144, + "name": "number", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "1610:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 145, + "name": "s_differentConditionals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "1620:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1610:33:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 151, + "nodeType": "IfStatement", + "src": "1606:80:0", + "trueBody": { + "id": 150, + "nodeType": "Block", + "src": "1645:41:0", + "statements": [ + { + "eventCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 147, + "name": "Different", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123, + "src": "1664:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1664:11:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 149, + "nodeType": "EmitStatement", + "src": "1659:16:0" + } + ] + } + } + ] + }, + "functionSelector": "74409092", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "differentTwo", + "nameLocation": "1558:12:0", + "parameters": { + "id": 142, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 141, + "mutability": "mutable", + "name": "number", + "nameLocation": "1579:6:0", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "1571:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 140, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1571:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1570:16:0" + }, + "returnParameters": { + "id": 143, + "nodeType": "ParameterList", + "parameters": [], + "src": "1596:0:0" + }, + "scope": 173, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 172, + "nodeType": "FunctionDefinition", + "src": "1698:202:0", + "nodes": [], + "body": { + "id": 171, + "nodeType": "Block", + "src": "1747:153:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 158, + "name": "number", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 155, + "src": "1761:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 159, + "name": "s_differentConditionals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "1770:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1761:32:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 169, + "nodeType": "Block", + "src": "1842:52:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "4d757374206265206c657373207468616e", + "id": 166, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1863:19:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_64615c1f63e5cd366e30e9f4c1f1477a3ddb1692ef3113fd65bc46244024576a", + "typeString": "literal_string \"Must be less than\"" + }, + "value": "Must be less than" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_64615c1f63e5cd366e30e9f4c1f1477a3ddb1692ef3113fd65bc46244024576a", + "typeString": "literal_string \"Must be less than\"" + } + ], + "id": 165, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "1856:6:0", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1856:27:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 168, + "nodeType": "ExpressionStatement", + "src": "1856:27:0" + } + ] + }, + "id": 170, + "nodeType": "IfStatement", + "src": "1757:137:0", + "trueBody": { + "id": 164, + "nodeType": "Block", + "src": "1795:41:0", + "statements": [ + { + "eventCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 161, + "name": "Different", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123, + "src": "1814:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1814:11:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 163, + "nodeType": "EmitStatement", + "src": "1809:16:0" + } + ] + } + } + ] + }, + "functionSelector": "a958d5d9", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "differentThree", + "nameLocation": "1707:14:0", + "parameters": { + "id": 156, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 155, + "mutability": "mutable", + "name": "number", + "nameLocation": "1730:6:0", + "nodeType": "VariableDeclaration", + "scope": 172, + "src": "1722:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 154, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1722:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1721:16:0" + }, + "returnParameters": { + "id": 157, + "nodeType": "ParameterList", + "parameters": [], + "src": "1747:0:0" + }, + "scope": 173, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "StorageConditionals", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 173 + ], + "name": "StorageConditionals", + "nameLocation": "66:19:0", + "scope": 174, + "usedErrors": [], + "usedEvents": [ + 23, + 123 + ] + } + ], + "license": "MIT" + }, + "id": 0 +} \ No newline at end of file diff --git a/tests/contract-playground/out/Strings.sol/Strings.json b/tests/contract-playground/out/Strings.sol/Strings.json index fc13a9a54..dc18a83c2 100644 --- a/tests/contract-playground/out/Strings.sol/Strings.json +++ b/tests/contract-playground/out/Strings.sol/Strings.json @@ -1,17 +1,17 @@ { "abi": [], "bytecode": { - "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122086044bb52c8035dd845d877e9187dcee3fd7b5fe1f35b967137f7d40e083d4f764736f6c63430008140033", - "sourceMap": "220:2559:28:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;220:2559:28;;;;;;;;;;;;;;;;;", + "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cc3176d7e3332859101b6da43bf9a53d033be6496f8369496cfe9b239ee7ef5764736f6c63430008140033", + "sourceMap": "220:2559:32:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;220:2559:32;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122086044bb52c8035dd845d877e9187dcee3fd7b5fe1f35b967137f7d40e083d4f764736f6c63430008140033", - "sourceMap": "220:2559:28:-:0;;;;;;;;", + "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cc3176d7e3332859101b6da43bf9a53d033be6496f8369496cfe9b239ee7ef5764736f6c63430008140033", + "sourceMap": "220:2559:32:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, @@ -81,25 +82,25 @@ }, "ast": { "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Strings.sol", - "id": 44530, + "id": 45618, "exportedSymbols": { "Math": [ - 45431 + 46519 ], "SignedMath": [ - 45536 + 46624 ], "Strings": [ - 44529 + 45617 ] }, "nodeType": "SourceUnit", - "src": "101:2679:28", + "src": "101:2679:32", "nodes": [ { - "id": 44302, + "id": 45390, "nodeType": "PragmaDirective", - "src": "101:23:28", + "src": "101:23:32", "nodes": [], "literals": [ "solidity", @@ -109,46 +110,46 @@ ] }, { - "id": 44303, + "id": 45391, "nodeType": "ImportDirective", - "src": "126:25:28", + "src": "126:25:32", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "file": "./math/Math.sol", "nameLocation": "-1:-1:-1", - "scope": 44530, - "sourceUnit": 45432, + "scope": 45618, + "sourceUnit": 46520, "symbolAliases": [], "unitAlias": "" }, { - "id": 44304, + "id": 45392, "nodeType": "ImportDirective", - "src": "152:31:28", + "src": "152:31:32", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol", "file": "./math/SignedMath.sol", "nameLocation": "-1:-1:-1", - "scope": 44530, - "sourceUnit": 45537, + "scope": 45618, + "sourceUnit": 46625, "symbolAliases": [], "unitAlias": "" }, { - "id": 44529, + "id": 45617, "nodeType": "ContractDefinition", - "src": "220:2559:28", + "src": "220:2559:32", "nodes": [ { - "id": 44308, + "id": 45396, "nodeType": "VariableDeclaration", - "src": "242:54:28", + "src": "242:54:32", "nodes": [], "constant": true, "mutability": "constant", "name": "_SYMBOLS", - "nameLocation": "267:8:28", - "scope": 44529, + "nameLocation": "267:8:32", + "scope": 45617, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -156,10 +157,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 44306, + "id": 45394, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "242:7:28", + "src": "242:7:32", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -167,14 +168,14 @@ }, "value": { "hexValue": "30313233343536373839616263646566", - "id": 44307, + "id": 45395, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "278:18:28", + "src": "278:18:32", "typeDescriptions": { "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f", "typeString": "literal_string \"0123456789abcdef\"" @@ -184,15 +185,15 @@ "visibility": "private" }, { - "id": 44311, + "id": 45399, "nodeType": "VariableDeclaration", - "src": "302:43:28", + "src": "302:43:32", "nodes": [], "constant": true, "mutability": "constant", "name": "_ADDRESS_LENGTH", - "nameLocation": "325:15:28", - "scope": 44529, + "nameLocation": "325:15:32", + "scope": 45617, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -200,10 +201,10 @@ "typeString": "uint8" }, "typeName": { - "id": 44309, + "id": 45397, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "302:5:28", + "src": "302:5:32", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -211,14 +212,14 @@ }, "value": { "hexValue": "3230", - "id": 44310, + "id": 45398, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "343:2:28", + "src": "343:2:32", "typeDescriptions": { "typeIdentifier": "t_rational_20_by_1", "typeString": "int_const 20" @@ -228,35 +229,35 @@ "visibility": "private" }, { - "id": 44359, + "id": 45447, "nodeType": "FunctionDefinition", - "src": "447:696:28", + "src": "447:696:32", "nodes": [], "body": { - "id": 44358, + "id": 45446, "nodeType": "Block", - "src": "518:625:28", + "src": "518:625:32", "nodes": [], "statements": [ { - "id": 44357, + "id": 45445, "nodeType": "UncheckedBlock", - "src": "528:609:28", + "src": "528:609:32", "statements": [ { "assignments": [ - 44320 + 45408 ], "declarations": [ { "constant": false, - "id": 44320, + "id": 45408, "mutability": "mutable", "name": "length", - "nameLocation": "560:6:28", + "nameLocation": "560:6:32", "nodeType": "VariableDeclaration", - "scope": 44357, - "src": "552:14:28", + "scope": 45445, + "src": "552:14:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -264,10 +265,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44319, + "id": 45407, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "552:7:28", + "src": "552:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -276,13 +277,13 @@ "visibility": "internal" } ], - "id": 44327, + "id": 45415, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44326, + "id": 45414, "isConstant": false, "isLValue": false, "isPure": false, @@ -290,12 +291,12 @@ "leftExpression": { "arguments": [ { - "id": 44323, + "id": 45411, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44314, - "src": "580:5:28", + "referencedDeclaration": 45402, + "src": "580:5:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -310,33 +311,33 @@ } ], "expression": { - "id": 44321, + "id": 45409, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45431, - "src": "569:4:28", + "referencedDeclaration": 46519, + "src": "569:4:32", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$45431_$", + "typeIdentifier": "t_type$_t_contract$_Math_$46519_$", "typeString": "type(library Math)" } }, - "id": 44322, + "id": 45410, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "574:5:28", + "memberLocation": "574:5:32", "memberName": "log10", "nodeType": "MemberAccess", - "referencedDeclaration": 45268, - "src": "569:10:28", + "referencedDeclaration": 46356, + "src": "569:10:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, - "id": 44324, + "id": 45412, "isConstant": false, "isLValue": false, "isPure": false, @@ -345,7 +346,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "569:17:28", + "src": "569:17:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -356,43 +357,43 @@ "operator": "+", "rightExpression": { "hexValue": "31", - "id": 44325, + "id": 45413, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "589:1:28", + "src": "589:1:32", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "569:21:28", + "src": "569:21:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "552:38:28" + "src": "552:38:32" }, { "assignments": [ - 44329 + 45417 ], "declarations": [ { "constant": false, - "id": 44329, + "id": 45417, "mutability": "mutable", "name": "buffer", - "nameLocation": "618:6:28", + "nameLocation": "618:6:32", "nodeType": "VariableDeclaration", - "scope": 44357, - "src": "604:20:28", + "scope": 45445, + "src": "604:20:32", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -400,10 +401,10 @@ "typeString": "string" }, "typeName": { - "id": 44328, + "id": 45416, "name": "string", "nodeType": "ElementaryTypeName", - "src": "604:6:28", + "src": "604:6:32", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -412,16 +413,16 @@ "visibility": "internal" } ], - "id": 44334, + "id": 45422, "initialValue": { "arguments": [ { - "id": 44332, + "id": 45420, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44320, - "src": "638:6:28", + "referencedDeclaration": 45408, + "src": "638:6:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -435,29 +436,29 @@ "typeString": "uint256" } ], - "id": 44331, + "id": 45419, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "627:10:28", + "src": "627:10:32", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" }, "typeName": { - "id": 44330, + "id": 45418, "name": "string", "nodeType": "ElementaryTypeName", - "src": "631:6:28", + "src": "631:6:32", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } } }, - "id": 44333, + "id": 45421, "isConstant": false, "isLValue": false, "isPure": false, @@ -466,7 +467,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "627:18:28", + "src": "627:18:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -474,22 +475,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "604:41:28" + "src": "604:41:32" }, { "assignments": [ - 44336 + 45424 ], "declarations": [ { "constant": false, - "id": 44336, + "id": 45424, "mutability": "mutable", "name": "ptr", - "nameLocation": "667:3:28", + "nameLocation": "667:3:32", "nodeType": "VariableDeclaration", - "scope": 44357, - "src": "659:11:28", + "scope": 45445, + "src": "659:11:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -497,10 +498,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44335, + "id": 45423, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "659:7:28", + "src": "659:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -509,62 +510,62 @@ "visibility": "internal" } ], - "id": 44337, + "id": 45425, "nodeType": "VariableDeclarationStatement", - "src": "659:11:28" + "src": "659:11:32" }, { "AST": { "nodeType": "YulBlock", - "src": "740:67:28", + "src": "740:67:32", "statements": [ { "nodeType": "YulAssignment", - "src": "758:35:28", + "src": "758:35:32", "value": { "arguments": [ { "name": "buffer", "nodeType": "YulIdentifier", - "src": "769:6:28" + "src": "769:6:32" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "781:2:28", + "src": "781:2:32", "type": "", "value": "32" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "785:6:28" + "src": "785:6:32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "777:3:28" + "src": "777:3:32" }, "nodeType": "YulFunctionCall", - "src": "777:15:28" + "src": "777:15:32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "765:3:28" + "src": "765:3:32" }, "nodeType": "YulFunctionCall", - "src": "765:28:28" + "src": "765:28:32" }, "variableNames": [ { "name": "ptr", "nodeType": "YulIdentifier", - "src": "758:3:28" + "src": "758:3:32" } ] } @@ -574,40 +575,40 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 44329, + "declaration": 45417, "isOffset": false, "isSlot": false, - "src": "769:6:28", + "src": "769:6:32", "valueSize": 1 }, { - "declaration": 44320, + "declaration": 45408, "isOffset": false, "isSlot": false, - "src": "785:6:28", + "src": "785:6:32", "valueSize": 1 }, { - "declaration": 44336, + "declaration": 45424, "isOffset": false, "isSlot": false, - "src": "758:3:28", + "src": "758:3:32", "valueSize": 1 } ], - "id": 44338, + "id": 45426, "nodeType": "InlineAssembly", - "src": "731:76:28" + "src": "731:76:32" }, { "body": { - "id": 44353, + "id": 45441, "nodeType": "Block", - "src": "833:267:28", + "src": "833:267:32", "statements": [ { "expression": { - "id": 44341, + "id": 45429, "isConstant": false, "isLValue": false, "isPure": false, @@ -615,14 +616,14 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "851:5:28", + "src": "851:5:32", "subExpression": { - "id": 44340, + "id": 45428, "name": "ptr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44336, - "src": "851:3:28", + "referencedDeclaration": 45424, + "src": "851:3:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -633,14 +634,14 @@ "typeString": "uint256" } }, - "id": 44342, + "id": 45430, "nodeType": "ExpressionStatement", - "src": "851:5:28" + "src": "851:5:32" }, { "AST": { "nodeType": "YulBlock", - "src": "934:84:28", + "src": "934:84:32", "statements": [ { "expression": { @@ -648,7 +649,7 @@ { "name": "ptr", "nodeType": "YulIdentifier", - "src": "964:3:28" + "src": "964:3:32" }, { "arguments": [ @@ -657,12 +658,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "978:5:28" + "src": "978:5:32" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "985:2:28", + "src": "985:2:32", "type": "", "value": "10" } @@ -670,36 +671,36 @@ "functionName": { "name": "mod", "nodeType": "YulIdentifier", - "src": "974:3:28" + "src": "974:3:32" }, "nodeType": "YulFunctionCall", - "src": "974:14:28" + "src": "974:14:32" }, { "name": "_SYMBOLS", "nodeType": "YulIdentifier", - "src": "990:8:28" + "src": "990:8:32" } ], "functionName": { "name": "byte", "nodeType": "YulIdentifier", - "src": "969:4:28" + "src": "969:4:32" }, "nodeType": "YulFunctionCall", - "src": "969:30:28" + "src": "969:30:32" } ], "functionName": { "name": "mstore8", "nodeType": "YulIdentifier", - "src": "956:7:28" + "src": "956:7:32" }, "nodeType": "YulFunctionCall", - "src": "956:44:28" + "src": "956:44:32" }, "nodeType": "YulExpressionStatement", - "src": "956:44:28" + "src": "956:44:32" } ] }, @@ -707,45 +708,45 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 44308, + "declaration": 45396, "isOffset": false, "isSlot": false, - "src": "990:8:28", + "src": "990:8:32", "valueSize": 1 }, { - "declaration": 44336, + "declaration": 45424, "isOffset": false, "isSlot": false, - "src": "964:3:28", + "src": "964:3:32", "valueSize": 1 }, { - "declaration": 44314, + "declaration": 45402, "isOffset": false, "isSlot": false, - "src": "978:5:28", + "src": "978:5:32", "valueSize": 1 } ], - "id": 44343, + "id": 45431, "nodeType": "InlineAssembly", - "src": "925:93:28" + "src": "925:93:32" }, { "expression": { - "id": 44346, + "id": 45434, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44344, + "id": 45432, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44314, - "src": "1035:5:28", + "referencedDeclaration": 45402, + "src": "1035:5:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -755,29 +756,29 @@ "operator": "/=", "rightHandSide": { "hexValue": "3130", - "id": 44345, + "id": 45433, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1044:2:28", + "src": "1044:2:32", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, - "src": "1035:11:28", + "src": "1035:11:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44347, + "id": 45435, "nodeType": "ExpressionStatement", - "src": "1035:11:28" + "src": "1035:11:32" }, { "condition": { @@ -785,18 +786,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44350, + "id": 45438, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44348, + "id": 45436, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44314, - "src": "1068:5:28", + "referencedDeclaration": 45402, + "src": "1068:5:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -806,103 +807,103 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 44349, + "id": 45437, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1077:1:28", + "src": "1077:1:32", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1068:10:28", + "src": "1068:10:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 44352, + "id": 45440, "nodeType": "IfStatement", - "src": "1064:21:28", + "src": "1064:21:32", "trueBody": { - "id": 44351, + "id": 45439, "nodeType": "Break", - "src": "1080:5:28" + "src": "1080:5:32" } } ] }, "condition": { "hexValue": "74727565", - "id": 44339, + "id": 45427, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "827:4:28", + "src": "827:4:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "id": 44354, + "id": 45442, "nodeType": "WhileStatement", - "src": "820:280:28" + "src": "820:280:32" }, { "expression": { - "id": 44355, + "id": 45443, "name": "buffer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44329, - "src": "1120:6:28", + "referencedDeclaration": 45417, + "src": "1120:6:32", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 44318, - "id": 44356, + "functionReturnParameters": 45406, + "id": 45444, "nodeType": "Return", - "src": "1113:13:28" + "src": "1113:13:32" } ] } ] }, "documentation": { - "id": 44312, + "id": 45400, "nodeType": "StructuredDocumentation", - "src": "352:90:28", + "src": "352:90:32", "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation." }, "implemented": true, "kind": "function", "modifiers": [], "name": "toString", - "nameLocation": "456:8:28", + "nameLocation": "456:8:32", "parameters": { - "id": 44315, + "id": 45403, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44314, + "id": 45402, "mutability": "mutable", "name": "value", - "nameLocation": "473:5:28", + "nameLocation": "473:5:32", "nodeType": "VariableDeclaration", - "scope": 44359, - "src": "465:13:28", + "scope": 45447, + "src": "465:13:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -910,10 +911,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44313, + "id": 45401, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "465:7:28", + "src": "465:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -922,21 +923,21 @@ "visibility": "internal" } ], - "src": "464:15:28" + "src": "464:15:32" }, "returnParameters": { - "id": 44318, + "id": 45406, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44317, + "id": 45405, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44359, - "src": "503:13:28", + "scope": 45447, + "src": "503:13:32", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -944,10 +945,10 @@ "typeString": "string" }, "typeName": { - "id": 44316, + "id": 45404, "name": "string", "nodeType": "ElementaryTypeName", - "src": "503:6:28", + "src": "503:6:32", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -956,22 +957,22 @@ "visibility": "internal" } ], - "src": "502:15:28" + "src": "502:15:32" }, - "scope": 44529, + "scope": 45617, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 44387, + "id": 45475, "nodeType": "FunctionDefinition", - "src": "1243:173:28", + "src": "1243:173:32", "nodes": [], "body": { - "id": 44386, + "id": 45474, "nodeType": "Block", - "src": "1313:103:28", + "src": "1313:103:32", "nodes": [], "statements": [ { @@ -985,18 +986,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 44373, + "id": 45461, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44371, + "id": 45459, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44362, - "src": "1354:5:28", + "referencedDeclaration": 45450, + "src": "1354:5:32", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -1006,21 +1007,21 @@ "operator": "<", "rightExpression": { "hexValue": "30", - "id": 44372, + "id": 45460, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1362:1:28", + "src": "1362:1:32", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1354:9:28", + "src": "1354:9:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1028,37 +1029,37 @@ }, "falseExpression": { "hexValue": "", - "id": 44375, + "id": 45463, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1372:2:28", + "src": "1372:2:32", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" }, - "id": 44376, + "id": 45464, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "1354:20:28", + "src": "1354:20:32", "trueExpression": { "hexValue": "2d", - "id": 44374, + "id": 45462, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1366:3:28", + "src": "1366:3:32", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561", "typeString": "literal_string \"-\"" @@ -1075,12 +1076,12 @@ { "arguments": [ { - "id": 44380, + "id": 45468, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44362, - "src": "1400:5:28", + "referencedDeclaration": 45450, + "src": "1400:5:32", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -1095,33 +1096,33 @@ } ], "expression": { - "id": 44378, + "id": 45466, "name": "SignedMath", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45536, - "src": "1385:10:28", + "referencedDeclaration": 46624, + "src": "1385:10:32", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SignedMath_$45536_$", + "typeIdentifier": "t_type$_t_contract$_SignedMath_$46624_$", "typeString": "type(library SignedMath)" } }, - "id": 44379, + "id": 45467, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1396:3:28", + "memberLocation": "1396:3:32", "memberName": "abs", "nodeType": "MemberAccess", - "referencedDeclaration": 45535, - "src": "1385:14:28", + "referencedDeclaration": 46623, + "src": "1385:14:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", "typeString": "function (int256) pure returns (uint256)" } }, - "id": 44381, + "id": 45469, "isConstant": false, "isLValue": false, "isPure": false, @@ -1130,7 +1131,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1385:21:28", + "src": "1385:21:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1145,21 +1146,21 @@ "typeString": "uint256" } ], - "id": 44377, + "id": 45465, "name": "toString", "nodeType": "Identifier", "overloadedDeclarations": [ - 44359, - 44387 + 45447, + 45475 ], - "referencedDeclaration": 44359, - "src": "1376:8:28", + "referencedDeclaration": 45447, + "src": "1376:8:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 44382, + "id": 45470, "isConstant": false, "isLValue": false, "isPure": false, @@ -1168,7 +1169,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1376:31:28", + "src": "1376:31:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -1188,32 +1189,32 @@ } ], "expression": { - "id": 44369, + "id": 45457, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "1337:3:28", + "src": "1337:3:32", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 44370, + "id": 45458, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "1341:12:28", + "memberLocation": "1341:12:32", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "1337:16:28", + "src": "1337:16:32", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 44383, + "id": 45471, "isConstant": false, "isLValue": false, "isPure": false, @@ -1222,7 +1223,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1337:71:28", + "src": "1337:71:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -1237,26 +1238,26 @@ "typeString": "bytes memory" } ], - "id": 44368, + "id": 45456, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1330:6:28", + "src": "1330:6:32", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 44367, + "id": 45455, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1330:6:28", + "src": "1330:6:32", "typeDescriptions": {} } }, - "id": 44384, + "id": 45472, "isConstant": false, "isLValue": false, "isPure": false, @@ -1265,44 +1266,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1330:79:28", + "src": "1330:79:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 44366, - "id": 44385, + "functionReturnParameters": 45454, + "id": 45473, "nodeType": "Return", - "src": "1323:86:28" + "src": "1323:86:32" } ] }, "documentation": { - "id": 44360, + "id": 45448, "nodeType": "StructuredDocumentation", - "src": "1149:89:28", + "src": "1149:89:32", "text": " @dev Converts a `int256` to its ASCII `string` decimal representation." }, "implemented": true, "kind": "function", "modifiers": [], "name": "toString", - "nameLocation": "1252:8:28", + "nameLocation": "1252:8:32", "parameters": { - "id": 44363, + "id": 45451, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44362, + "id": 45450, "mutability": "mutable", "name": "value", - "nameLocation": "1268:5:28", + "nameLocation": "1268:5:32", "nodeType": "VariableDeclaration", - "scope": 44387, - "src": "1261:12:28", + "scope": 45475, + "src": "1261:12:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1310,10 +1311,10 @@ "typeString": "int256" }, "typeName": { - "id": 44361, + "id": 45449, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "1261:6:28", + "src": "1261:6:32", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -1322,21 +1323,21 @@ "visibility": "internal" } ], - "src": "1260:14:28" + "src": "1260:14:32" }, "returnParameters": { - "id": 44366, + "id": 45454, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44365, + "id": 45453, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44387, - "src": "1298:13:28", + "scope": 45475, + "src": "1298:13:32", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1344,10 +1345,10 @@ "typeString": "string" }, "typeName": { - "id": 44364, + "id": 45452, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1298:6:28", + "src": "1298:6:32", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1356,39 +1357,39 @@ "visibility": "internal" } ], - "src": "1297:15:28" + "src": "1297:15:32" }, - "scope": 44529, + "scope": 45617, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 44407, + "id": 45495, "nodeType": "FunctionDefinition", - "src": "1521:174:28", + "src": "1521:174:32", "nodes": [], "body": { - "id": 44406, + "id": 45494, "nodeType": "Block", - "src": "1595:100:28", + "src": "1595:100:32", "nodes": [], "statements": [ { - "id": 44405, + "id": 45493, "nodeType": "UncheckedBlock", - "src": "1605:84:28", + "src": "1605:84:32", "statements": [ { "expression": { "arguments": [ { - "id": 44396, + "id": 45484, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44390, - "src": "1648:5:28", + "referencedDeclaration": 45478, + "src": "1648:5:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1399,7 +1400,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44402, + "id": 45490, "isConstant": false, "isLValue": false, "isPure": false, @@ -1407,12 +1408,12 @@ "leftExpression": { "arguments": [ { - "id": 44399, + "id": 45487, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44390, - "src": "1667:5:28", + "referencedDeclaration": 45478, + "src": "1667:5:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1427,33 +1428,33 @@ } ], "expression": { - "id": 44397, + "id": 45485, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45431, - "src": "1655:4:28", + "referencedDeclaration": 46519, + "src": "1655:4:32", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$45431_$", + "typeIdentifier": "t_type$_t_contract$_Math_$46519_$", "typeString": "type(library Math)" } }, - "id": 44398, + "id": 45486, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1660:6:28", + "memberLocation": "1660:6:32", "memberName": "log256", "nodeType": "MemberAccess", - "referencedDeclaration": 45391, - "src": "1655:11:28", + "referencedDeclaration": 46479, + "src": "1655:11:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, - "id": 44400, + "id": 45488, "isConstant": false, "isLValue": false, "isPure": false, @@ -1462,7 +1463,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1655:18:28", + "src": "1655:18:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1473,21 +1474,21 @@ "operator": "+", "rightExpression": { "hexValue": "31", - "id": 44401, + "id": 45489, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1676:1:28", + "src": "1676:1:32", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "1655:22:28", + "src": "1655:22:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1505,22 +1506,22 @@ "typeString": "uint256" } ], - "id": 44395, + "id": 45483, "name": "toHexString", "nodeType": "Identifier", "overloadedDeclarations": [ - 44407, - 44483, - 44503 + 45495, + 45571, + 45591 ], - "referencedDeclaration": 44483, - "src": "1636:11:28", + "referencedDeclaration": 45571, + "src": "1636:11:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (string memory)" } }, - "id": 44403, + "id": 45491, "isConstant": false, "isLValue": false, "isPure": false, @@ -1529,46 +1530,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1636:42:28", + "src": "1636:42:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 44394, - "id": 44404, + "functionReturnParameters": 45482, + "id": 45492, "nodeType": "Return", - "src": "1629:49:28" + "src": "1629:49:32" } ] } ] }, "documentation": { - "id": 44388, + "id": 45476, "nodeType": "StructuredDocumentation", - "src": "1422:94:28", + "src": "1422:94:32", "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation." }, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexString", - "nameLocation": "1530:11:28", + "nameLocation": "1530:11:32", "parameters": { - "id": 44391, + "id": 45479, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44390, + "id": 45478, "mutability": "mutable", "name": "value", - "nameLocation": "1550:5:28", + "nameLocation": "1550:5:32", "nodeType": "VariableDeclaration", - "scope": 44407, - "src": "1542:13:28", + "scope": 45495, + "src": "1542:13:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1576,10 +1577,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44389, + "id": 45477, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1542:7:28", + "src": "1542:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1588,21 +1589,21 @@ "visibility": "internal" } ], - "src": "1541:15:28" + "src": "1541:15:32" }, "returnParameters": { - "id": 44394, + "id": 45482, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44393, + "id": 45481, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44407, - "src": "1580:13:28", + "scope": 45495, + "src": "1580:13:32", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1610,10 +1611,10 @@ "typeString": "string" }, "typeName": { - "id": 44392, + "id": 45480, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1580:6:28", + "src": "1580:6:32", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1622,38 +1623,38 @@ "visibility": "internal" } ], - "src": "1579:15:28" + "src": "1579:15:32" }, - "scope": 44529, + "scope": 45617, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 44483, + "id": 45571, "nodeType": "FunctionDefinition", - "src": "1818:437:28", + "src": "1818:437:32", "nodes": [], "body": { - "id": 44482, + "id": 45570, "nodeType": "Block", - "src": "1908:347:28", + "src": "1908:347:32", "nodes": [], "statements": [ { "assignments": [ - 44418 + 45506 ], "declarations": [ { "constant": false, - "id": 44418, + "id": 45506, "mutability": "mutable", "name": "buffer", - "nameLocation": "1931:6:28", + "nameLocation": "1931:6:32", "nodeType": "VariableDeclaration", - "scope": 44482, - "src": "1918:19:28", + "scope": 45570, + "src": "1918:19:32", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1661,10 +1662,10 @@ "typeString": "bytes" }, "typeName": { - "id": 44417, + "id": 45505, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1918:5:28", + "src": "1918:5:32", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1673,7 +1674,7 @@ "visibility": "internal" } ], - "id": 44427, + "id": 45515, "initialValue": { "arguments": [ { @@ -1681,7 +1682,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44425, + "id": 45513, "isConstant": false, "isLValue": false, "isPure": false, @@ -1691,21 +1692,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44423, + "id": 45511, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", - "id": 44421, + "id": 45509, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1950:1:28", + "src": "1950:1:32", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -1715,18 +1716,18 @@ "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { - "id": 44422, + "id": 45510, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44412, - "src": "1954:6:28", + "referencedDeclaration": 45500, + "src": "1954:6:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1950:10:28", + "src": "1950:10:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1736,21 +1737,21 @@ "operator": "+", "rightExpression": { "hexValue": "32", - "id": 44424, + "id": 45512, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1963:1:28", + "src": "1963:1:32", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "1950:14:28", + "src": "1950:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1764,29 +1765,29 @@ "typeString": "uint256" } ], - "id": 44420, + "id": 45508, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1940:9:28", + "src": "1940:9:32", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { - "id": 44419, + "id": 45507, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1944:5:28", + "src": "1944:5:32", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } } }, - "id": 44426, + "id": 45514, "isConstant": false, "isLValue": false, "isPure": false, @@ -1795,7 +1796,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1940:25:28", + "src": "1940:25:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -1803,39 +1804,39 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1918:47:28" + "src": "1918:47:32" }, { "expression": { - "id": 44432, + "id": 45520, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 44428, + "id": 45516, "name": "buffer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44418, - "src": "1975:6:28", + "referencedDeclaration": 45506, + "src": "1975:6:32", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 44430, + "id": 45518, "indexExpression": { "hexValue": "30", - "id": 44429, + "id": 45517, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1982:1:28", + "src": "1982:1:32", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -1847,7 +1848,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1975:9:28", + "src": "1975:9:32", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -1857,61 +1858,61 @@ "operator": "=", "rightHandSide": { "hexValue": "30", - "id": 44431, + "id": 45519, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1987:3:28", + "src": "1987:3:32", "typeDescriptions": { "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", "typeString": "literal_string \"0\"" }, "value": "0" }, - "src": "1975:15:28", + "src": "1975:15:32", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, - "id": 44433, + "id": 45521, "nodeType": "ExpressionStatement", - "src": "1975:15:28" + "src": "1975:15:32" }, { "expression": { - "id": 44438, + "id": 45526, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 44434, + "id": 45522, "name": "buffer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44418, - "src": "2000:6:28", + "referencedDeclaration": 45506, + "src": "2000:6:32", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 44436, + "id": 45524, "indexExpression": { "hexValue": "31", - "id": 44435, + "id": 45523, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2007:1:28", + "src": "2007:1:32", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -1923,7 +1924,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2000:9:28", + "src": "2000:9:32", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -1933,64 +1934,64 @@ "operator": "=", "rightHandSide": { "hexValue": "78", - "id": 44437, + "id": 45525, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2012:3:28", + "src": "2012:3:32", "typeDescriptions": { "typeIdentifier": "t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83", "typeString": "literal_string \"x\"" }, "value": "x" }, - "src": "2000:15:28", + "src": "2000:15:32", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, - "id": 44439, + "id": 45527, "nodeType": "ExpressionStatement", - "src": "2000:15:28" + "src": "2000:15:32" }, { "body": { - "id": 44468, + "id": 45556, "nodeType": "Block", - "src": "2070:83:28", + "src": "2070:83:32", "statements": [ { "expression": { - "id": 44462, + "id": 45550, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 44454, + "id": 45542, "name": "buffer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44418, - "src": "2084:6:28", + "referencedDeclaration": 45506, + "src": "2084:6:32", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 44456, + "id": 45544, "indexExpression": { - "id": 44455, + "id": 45543, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44441, - "src": "2091:1:28", + "referencedDeclaration": 45529, + "src": "2091:1:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2001,7 +2002,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2084:9:28", + "src": "2084:9:32", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -2011,35 +2012,35 @@ "operator": "=", "rightHandSide": { "baseExpression": { - "id": 44457, + "id": 45545, "name": "_SYMBOLS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44308, - "src": "2096:8:28", + "referencedDeclaration": 45396, + "src": "2096:8:32", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, - "id": 44461, + "id": 45549, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44460, + "id": 45548, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44458, + "id": 45546, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44410, - "src": "2105:5:28", + "referencedDeclaration": 45498, + "src": "2105:5:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2049,21 +2050,21 @@ "operator": "&", "rightExpression": { "hexValue": "307866", - "id": 44459, + "id": 45547, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2113:3:28", + "src": "2113:3:32", "typeDescriptions": { "typeIdentifier": "t_rational_15_by_1", "typeString": "int_const 15" }, "value": "0xf" }, - "src": "2105:11:28", + "src": "2105:11:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2074,36 +2075,36 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2096:21:28", + "src": "2096:21:32", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, - "src": "2084:33:28", + "src": "2084:33:32", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, - "id": 44463, + "id": 45551, "nodeType": "ExpressionStatement", - "src": "2084:33:28" + "src": "2084:33:32" }, { "expression": { - "id": 44466, + "id": 45554, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 44464, + "id": 45552, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44410, - "src": "2131:5:28", + "referencedDeclaration": 45498, + "src": "2131:5:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2113,29 +2114,29 @@ "operator": ">>=", "rightHandSide": { "hexValue": "34", - "id": 44465, + "id": 45553, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2141:1:28", + "src": "2141:1:32", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, - "src": "2131:11:28", + "src": "2131:11:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 44467, + "id": 45555, "nodeType": "ExpressionStatement", - "src": "2131:11:28" + "src": "2131:11:32" } ] }, @@ -2144,18 +2145,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44450, + "id": 45538, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44448, + "id": 45536, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44441, - "src": "2058:1:28", + "referencedDeclaration": 45529, + "src": "2058:1:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2165,41 +2166,41 @@ "operator": ">", "rightExpression": { "hexValue": "31", - "id": 44449, + "id": 45537, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2062:1:28", + "src": "2062:1:32", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "2058:5:28", + "src": "2058:5:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 44469, + "id": 45557, "initializationExpression": { "assignments": [ - 44441 + 45529 ], "declarations": [ { "constant": false, - "id": 44441, + "id": 45529, "mutability": "mutable", "name": "i", - "nameLocation": "2038:1:28", + "nameLocation": "2038:1:32", "nodeType": "VariableDeclaration", - "scope": 44469, - "src": "2030:9:28", + "scope": 45557, + "src": "2030:9:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2207,10 +2208,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44440, + "id": 45528, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2030:7:28", + "src": "2030:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2219,13 +2220,13 @@ "visibility": "internal" } ], - "id": 44447, + "id": 45535, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44446, + "id": 45534, "isConstant": false, "isLValue": false, "isPure": false, @@ -2235,21 +2236,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44444, + "id": 45532, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", - "id": 44442, + "id": 45530, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2042:1:28", + "src": "2042:1:32", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -2259,18 +2260,18 @@ "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { - "id": 44443, + "id": 45531, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44412, - "src": "2046:6:28", + "referencedDeclaration": 45500, + "src": "2046:6:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2042:10:28", + "src": "2042:10:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2280,32 +2281,32 @@ "operator": "+", "rightExpression": { "hexValue": "31", - "id": 44445, + "id": 45533, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2055:1:28", + "src": "2055:1:32", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "2042:14:28", + "src": "2042:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2030:26:28" + "src": "2030:26:32" }, "loopExpression": { "expression": { - "id": 44452, + "id": 45540, "isConstant": false, "isLValue": false, "isPure": false, @@ -2313,14 +2314,14 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": true, - "src": "2065:3:28", + "src": "2065:3:32", "subExpression": { - "id": 44451, + "id": 45539, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44441, - "src": "2067:1:28", + "referencedDeclaration": 45529, + "src": "2067:1:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2331,12 +2332,12 @@ "typeString": "uint256" } }, - "id": 44453, + "id": 45541, "nodeType": "ExpressionStatement", - "src": "2065:3:28" + "src": "2065:3:32" }, "nodeType": "ForStatement", - "src": "2025:128:28" + "src": "2025:128:32" }, { "expression": { @@ -2346,18 +2347,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 44473, + "id": 45561, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 44471, + "id": 45559, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44410, - "src": "2170:5:28", + "referencedDeclaration": 45498, + "src": "2170:5:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2367,21 +2368,21 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 44472, + "id": 45560, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2179:1:28", + "src": "2179:1:32", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "2170:10:28", + "src": "2170:10:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2389,14 +2390,14 @@ }, { "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", - "id": 44474, + "id": 45562, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2182:34:28", + "src": "2182:34:32", "typeDescriptions": { "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", "typeString": "literal_string \"Strings: hex length insufficient\"" @@ -2415,7 +2416,7 @@ "typeString": "literal_string \"Strings: hex length insufficient\"" } ], - "id": 44470, + "id": 45558, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2423,13 +2424,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2162:7:28", + "src": "2162:7:32", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 44475, + "id": 45563, "isConstant": false, "isLValue": false, "isPure": false, @@ -2438,27 +2439,27 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2162:55:28", + "src": "2162:55:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 44476, + "id": 45564, "nodeType": "ExpressionStatement", - "src": "2162:55:28" + "src": "2162:55:32" }, { "expression": { "arguments": [ { - "id": 44479, + "id": 45567, "name": "buffer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44418, - "src": "2241:6:28", + "referencedDeclaration": 45506, + "src": "2241:6:32", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -2472,26 +2473,26 @@ "typeString": "bytes memory" } ], - "id": 44478, + "id": 45566, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2234:6:28", + "src": "2234:6:32", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 44477, + "id": 45565, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2234:6:28", + "src": "2234:6:32", "typeDescriptions": {} } }, - "id": 44480, + "id": 45568, "isConstant": false, "isLValue": false, "isPure": false, @@ -2500,44 +2501,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2234:14:28", + "src": "2234:14:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 44416, - "id": 44481, + "functionReturnParameters": 45504, + "id": 45569, "nodeType": "Return", - "src": "2227:21:28" + "src": "2227:21:32" } ] }, "documentation": { - "id": 44408, + "id": 45496, "nodeType": "StructuredDocumentation", - "src": "1701:112:28", + "src": "1701:112:32", "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length." }, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexString", - "nameLocation": "1827:11:28", + "nameLocation": "1827:11:32", "parameters": { - "id": 44413, + "id": 45501, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44410, + "id": 45498, "mutability": "mutable", "name": "value", - "nameLocation": "1847:5:28", + "nameLocation": "1847:5:32", "nodeType": "VariableDeclaration", - "scope": 44483, - "src": "1839:13:28", + "scope": 45571, + "src": "1839:13:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2545,10 +2546,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44409, + "id": 45497, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1839:7:28", + "src": "1839:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2558,13 +2559,13 @@ }, { "constant": false, - "id": 44412, + "id": 45500, "mutability": "mutable", "name": "length", - "nameLocation": "1862:6:28", + "nameLocation": "1862:6:32", "nodeType": "VariableDeclaration", - "scope": 44483, - "src": "1854:14:28", + "scope": 45571, + "src": "1854:14:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2572,10 +2573,10 @@ "typeString": "uint256" }, "typeName": { - "id": 44411, + "id": 45499, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1854:7:28", + "src": "1854:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2584,21 +2585,21 @@ "visibility": "internal" } ], - "src": "1838:31:28" + "src": "1838:31:32" }, "returnParameters": { - "id": 44416, + "id": 45504, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44415, + "id": 45503, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44483, - "src": "1893:13:28", + "scope": 45571, + "src": "1893:13:32", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2606,10 +2607,10 @@ "typeString": "string" }, "typeName": { - "id": 44414, + "id": 45502, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1893:6:28", + "src": "1893:6:32", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2618,22 +2619,22 @@ "visibility": "internal" } ], - "src": "1892:15:28" + "src": "1892:15:32" }, - "scope": 44529, + "scope": 45617, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 44503, + "id": 45591, "nodeType": "FunctionDefinition", - "src": "2407:149:28", + "src": "2407:149:32", "nodes": [], "body": { - "id": 44502, + "id": 45590, "nodeType": "Block", - "src": "2480:76:28", + "src": "2480:76:32", "nodes": [], "statements": [ { @@ -2644,12 +2645,12 @@ { "arguments": [ { - "id": 44496, + "id": 45584, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44486, - "src": "2525:4:28", + "referencedDeclaration": 45574, + "src": "2525:4:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2663,26 +2664,26 @@ "typeString": "address" } ], - "id": 44495, + "id": 45583, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2517:7:28", + "src": "2517:7:32", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 44494, + "id": 45582, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "2517:7:28", + "src": "2517:7:32", "typeDescriptions": {} } }, - "id": 44497, + "id": 45585, "isConstant": false, "isLValue": false, "isPure": false, @@ -2691,7 +2692,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2517:13:28", + "src": "2517:13:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -2706,26 +2707,26 @@ "typeString": "uint160" } ], - "id": 44493, + "id": 45581, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2509:7:28", + "src": "2509:7:32", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 44492, + "id": 45580, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2509:7:28", + "src": "2509:7:32", "typeDescriptions": {} } }, - "id": 44498, + "id": 45586, "isConstant": false, "isLValue": false, "isPure": false, @@ -2734,7 +2735,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2509:22:28", + "src": "2509:22:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2742,12 +2743,12 @@ } }, { - "id": 44499, + "id": 45587, "name": "_ADDRESS_LENGTH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44311, - "src": "2533:15:28", + "referencedDeclaration": 45399, + "src": "2533:15:32", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2765,22 +2766,22 @@ "typeString": "uint8" } ], - "id": 44491, + "id": 45579, "name": "toHexString", "nodeType": "Identifier", "overloadedDeclarations": [ - 44407, - 44483, - 44503 + 45495, + 45571, + 45591 ], - "referencedDeclaration": 44483, - "src": "2497:11:28", + "referencedDeclaration": 45571, + "src": "2497:11:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (string memory)" } }, - "id": 44500, + "id": 45588, "isConstant": false, "isLValue": false, "isPure": false, @@ -2789,44 +2790,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2497:52:28", + "src": "2497:52:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 44490, - "id": 44501, + "functionReturnParameters": 45578, + "id": 45589, "nodeType": "Return", - "src": "2490:59:28" + "src": "2490:59:32" } ] }, "documentation": { - "id": 44484, + "id": 45572, "nodeType": "StructuredDocumentation", - "src": "2261:141:28", + "src": "2261:141:32", "text": " @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation." }, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexString", - "nameLocation": "2416:11:28", + "nameLocation": "2416:11:32", "parameters": { - "id": 44487, + "id": 45575, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44486, + "id": 45574, "mutability": "mutable", "name": "addr", - "nameLocation": "2436:4:28", + "nameLocation": "2436:4:32", "nodeType": "VariableDeclaration", - "scope": 44503, - "src": "2428:12:28", + "scope": 45591, + "src": "2428:12:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2834,10 +2835,10 @@ "typeString": "address" }, "typeName": { - "id": 44485, + "id": 45573, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2428:7:28", + "src": "2428:7:32", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2847,21 +2848,21 @@ "visibility": "internal" } ], - "src": "2427:14:28" + "src": "2427:14:32" }, "returnParameters": { - "id": 44490, + "id": 45578, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44489, + "id": 45577, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44503, - "src": "2465:13:28", + "scope": 45591, + "src": "2465:13:32", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2869,10 +2870,10 @@ "typeString": "string" }, "typeName": { - "id": 44488, + "id": 45576, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2465:6:28", + "src": "2465:6:32", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2881,22 +2882,22 @@ "visibility": "internal" } ], - "src": "2464:15:28" + "src": "2464:15:32" }, - "scope": 44529, + "scope": 45617, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 44528, + "id": 45616, "nodeType": "FunctionDefinition", - "src": "2633:144:28", + "src": "2633:144:32", "nodes": [], "body": { - "id": 44527, + "id": 45615, "nodeType": "Block", - "src": "2711:66:28", + "src": "2711:66:32", "nodes": [], "statements": [ { @@ -2905,7 +2906,7 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 44525, + "id": 45613, "isConstant": false, "isLValue": false, "isPure": false, @@ -2915,12 +2916,12 @@ { "arguments": [ { - "id": 44516, + "id": 45604, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44506, - "src": "2744:1:28", + "referencedDeclaration": 45594, + "src": "2744:1:32", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2934,26 +2935,26 @@ "typeString": "string memory" } ], - "id": 44515, + "id": 45603, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2738:5:28", + "src": "2738:5:32", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 44514, + "id": 45602, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2738:5:28", + "src": "2738:5:32", "typeDescriptions": {} } }, - "id": 44517, + "id": 45605, "isConstant": false, "isLValue": false, "isPure": false, @@ -2962,7 +2963,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2738:8:28", + "src": "2738:8:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -2977,18 +2978,18 @@ "typeString": "bytes memory" } ], - "id": 44513, + "id": 45601, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "2728:9:28", + "src": "2728:9:32", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 44518, + "id": 45606, "isConstant": false, "isLValue": false, "isPure": false, @@ -2997,7 +2998,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2728:19:28", + "src": "2728:19:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3011,12 +3012,12 @@ { "arguments": [ { - "id": 44522, + "id": 45610, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 44508, - "src": "2767:1:28", + "referencedDeclaration": 45596, + "src": "2767:1:32", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3030,26 +3031,26 @@ "typeString": "string memory" } ], - "id": 44521, + "id": 45609, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2761:5:28", + "src": "2761:5:32", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 44520, + "id": 45608, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2761:5:28", + "src": "2761:5:32", "typeDescriptions": {} } }, - "id": 44523, + "id": 45611, "isConstant": false, "isLValue": false, "isPure": false, @@ -3058,7 +3059,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2761:8:28", + "src": "2761:8:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -3073,18 +3074,18 @@ "typeString": "bytes memory" } ], - "id": 44519, + "id": 45607, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "2751:9:28", + "src": "2751:9:32", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 44524, + "id": 45612, "isConstant": false, "isLValue": false, "isPure": false, @@ -3093,50 +3094,50 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2751:19:28", + "src": "2751:19:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "2728:42:28", + "src": "2728:42:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 44512, - "id": 44526, + "functionReturnParameters": 45600, + "id": 45614, "nodeType": "Return", - "src": "2721:49:28" + "src": "2721:49:32" } ] }, "documentation": { - "id": 44504, + "id": 45592, "nodeType": "StructuredDocumentation", - "src": "2562:66:28", + "src": "2562:66:32", "text": " @dev Returns true if the two strings are equal." }, "implemented": true, "kind": "function", "modifiers": [], "name": "equal", - "nameLocation": "2642:5:28", + "nameLocation": "2642:5:32", "parameters": { - "id": 44509, + "id": 45597, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44506, + "id": 45594, "mutability": "mutable", "name": "a", - "nameLocation": "2662:1:28", + "nameLocation": "2662:1:32", "nodeType": "VariableDeclaration", - "scope": 44528, - "src": "2648:15:28", + "scope": 45616, + "src": "2648:15:32", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3144,10 +3145,10 @@ "typeString": "string" }, "typeName": { - "id": 44505, + "id": 45593, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2648:6:28", + "src": "2648:6:32", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -3157,13 +3158,13 @@ }, { "constant": false, - "id": 44508, + "id": 45596, "mutability": "mutable", "name": "b", - "nameLocation": "2679:1:28", + "nameLocation": "2679:1:32", "nodeType": "VariableDeclaration", - "scope": 44528, - "src": "2665:15:28", + "scope": 45616, + "src": "2665:15:32", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3171,10 +3172,10 @@ "typeString": "string" }, "typeName": { - "id": 44507, + "id": 45595, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2665:6:28", + "src": "2665:6:32", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -3183,21 +3184,21 @@ "visibility": "internal" } ], - "src": "2647:34:28" + "src": "2647:34:32" }, "returnParameters": { - "id": 44512, + "id": 45600, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44511, + "id": 45599, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 44528, - "src": "2705:4:28", + "scope": 45616, + "src": "2705:4:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3205,10 +3206,10 @@ "typeString": "bool" }, "typeName": { - "id": 44510, + "id": 45598, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2705:4:28", + "src": "2705:4:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3217,9 +3218,9 @@ "visibility": "internal" } ], - "src": "2704:6:28" + "src": "2704:6:32" }, - "scope": 44529, + "scope": 45617, "stateMutability": "pure", "virtual": false, "visibility": "internal" @@ -3231,23 +3232,23 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 44305, + "id": 45393, "nodeType": "StructuredDocumentation", - "src": "185:34:28", + "src": "185:34:32", "text": " @dev String operations." }, "fullyImplemented": true, "linearizedBaseContracts": [ - 44529 + 45617 ], "name": "Strings", - "nameLocation": "228:7:28", - "scope": 44530, + "nameLocation": "228:7:32", + "scope": 45618, "usedErrors": [], "usedEvents": [] } ], "license": "MIT" }, - "id": 28 + "id": 32 } \ No newline at end of file diff --git a/tests/contract-playground/out/T11sTranferer.sol/T11sTranferer.json b/tests/contract-playground/out/T11sTranferer.sol/T11sTranferer.json index e2fcd19c3..5f46a6367 100644 --- a/tests/contract-playground/out/T11sTranferer.sol/T11sTranferer.json +++ b/tests/contract-playground/out/T11sTranferer.sol/T11sTranferer.json @@ -26,12 +26,12 @@ ], "bytecode": { "object": "0x608060405234801561001057600080fd5b50610178806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063328373f014610030575b600080fd5b61004361003e366004610101565b610045565b005b6100596001600160a01b038416838361005e565b505050565b600060405163a9059cbb60e01b81526001600160a01b0384166004820152826024820152602060006044836000895af13d15601f3d11600160005114161716915050806100e35760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b604482015260640160405180910390fd5b50505050565b6001600160a01b03811681146100fe57600080fd5b50565b60008060006060848603121561011657600080fd5b8335610121816100e9565b92506020840135610131816100e9565b92959294505050604091909101359056fea26469706673582212208abb48bdacce71e58a42dc6dfc721c3fa514e8f1feea871f5a06e956cbd0b7c164736f6c63430008140033", - "sourceMap": "143:190:41:-:0;;;;;;;;;;;;;;;;;;;", + "sourceMap": "143:190:47:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063328373f014610030575b600080fd5b61004361003e366004610101565b610045565b005b6100596001600160a01b038416838361005e565b505050565b600060405163a9059cbb60e01b81526001600160a01b0384166004820152826024820152602060006044836000895af13d15601f3d11600160005114161716915050806100e35760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b604482015260640160405180910390fd5b50505050565b6001600160a01b03811681146100fe57600080fd5b50565b60008060006060848603121561011657600080fd5b8335610121816100e9565b92506020840135610131816100e9565b92959294505050604091909101359056fea26469706673582212208abb48bdacce71e58a42dc6dfc721c3fa514e8f1feea871f5a06e956cbd0b7c164736f6c63430008140033", - "sourceMap": "143:190:41:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:121;;;;;;:::i;:::-;;:::i;:::-;;;294:30;-1:-1:-1;;;;;294:18:41;;313:2;317:6;294:18;:30::i;:::-;210:121;;;:::o;3116:1607:33:-;3228:12;3398:4;3392:11;-1:-1:-1;;;3521:17:33;3514:93;-1:-1:-1;;;;;3658:2:33;3654:51;3650:1;3631:17;3627:25;3620:86;3792:6;3787:2;3768:17;3764:26;3757:42;4644:2;4641:1;4637:2;4618:17;4615:1;4608:5;4601;4596:51;4165:16;4158:24;4152:2;4134:16;4131:24;4127:1;4123;4117:8;4114:15;4110:46;4107:76;3907:754;3896:765;;;4689:7;4681:35;;;;-1:-1:-1;;;4681:35:33;;849:2:48;4681:35:33;;;831:21:48;888:2;868:18;;;861:30;-1:-1:-1;;;907:18:48;;;900:45;962:18;;4681:35:33;;;;;;;;3218:1505;3116:1607;;;:::o;14:138:48:-;-1:-1:-1;;;;;96:31:48;;86:42;;76:70;;142:1;139;132:12;76:70;14:138;:::o;157:485::-;249:6;257;265;318:2;306:9;297:7;293:23;289:32;286:52;;;334:1;331;324:12;286:52;373:9;360:23;392:38;424:5;392:38;:::i;:::-;449:5;-1:-1:-1;506:2:48;491:18;;478:32;519:40;478:32;519:40;:::i;:::-;157:485;;578:7;;-1:-1:-1;;;632:2:48;617:18;;;;604:32;;157:485::o", + "sourceMap": "143:190:47:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:121;;;;;;:::i;:::-;;:::i;:::-;;;294:30;-1:-1:-1;;;;;294:18:47;;313:2;317:6;294:18;:30::i;:::-;210:121;;;:::o;3116:1607:38:-;3228:12;3398:4;3392:11;-1:-1:-1;;;3521:17:38;3514:93;-1:-1:-1;;;;;3658:2:38;3654:51;3650:1;3631:17;3627:25;3620:86;3792:6;3787:2;3768:17;3764:26;3757:42;4644:2;4641:1;4637:2;4618:17;4615:1;4608:5;4601;4596:51;4165:16;4158:24;4152:2;4134:16;4131:24;4127:1;4123;4117:8;4114:15;4110:46;4107:76;3907:754;3896:765;;;4689:7;4681:35;;;;-1:-1:-1;;;4681:35:38;;849:2:55;4681:35:38;;;831:21:55;888:2;868:18;;;861:30;-1:-1:-1;;;907:18:55;;;900:45;962:18;;4681:35:38;;;;;;;;3218:1505;3116:1607;;;:::o;14:138:55:-;-1:-1:-1;;;;;96:31:55;;86:42;;76:70;;142:1;139;132:12;76:70;14:138;:::o;157:485::-;249:6;257;265;318:2;306:9;297:7;293:23;289:32;286:52;;;334:1;331;324:12;286:52;373:9;360:23;392:38;424:5;392:38;:::i;:::-;449:5;-1:-1:-1;506:2:55;491:18;;478:32;519:40;478:32;519:40;:::i;:::-;157:485;;578:7;;-1:-1:-1;;;632:2:55;617:18;;;;604:32;;157:485::o", "linkReferences": {} }, "methodIdentifiers": { @@ -131,25 +131,25 @@ }, "ast": { "absolutePath": "src/T11sTranferer.sol", - "id": 46919, + "id": 48067, "exportedSymbols": { "ERC20": [ - 45885 + 47012 ], "SafeTransferLib": [ - 45970 + 47097 ], "T11sTranferer": [ - 46918 + 48066 ] }, "nodeType": "SourceUnit", - "src": "32:302:41", + "src": "32:302:47", "nodes": [ { - "id": 46892, + "id": 48040, "nodeType": "PragmaDirective", - "src": "32:23:41", + "src": "32:23:47", "nodes": [], "literals": [ "solidity", @@ -158,36 +158,36 @@ ] }, { - "id": 46895, + "id": 48043, "nodeType": "ImportDirective", - "src": "57:84:41", + "src": "57:84:47", "nodes": [], "absolutePath": "lib/solmate/src/utils/SafeTransferLib.sol", "file": "../lib/solmate/src/utils/SafeTransferLib.sol", "nameLocation": "-1:-1:-1", - "scope": 46919, - "sourceUnit": 45971, + "scope": 48067, + "sourceUnit": 47098, "symbolAliases": [ { "foreign": { - "id": 46893, + "id": 48041, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45885, - "src": "65:5:41", + "referencedDeclaration": 47012, + "src": "65:5:47", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { - "id": 46894, + "id": 48042, "name": "SafeTransferLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45970, - "src": "72:15:41", + "referencedDeclaration": 47097, + "src": "72:15:47", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -196,80 +196,80 @@ "unitAlias": "" }, { - "id": 46918, + "id": 48066, "nodeType": "ContractDefinition", - "src": "143:190:41", + "src": "143:190:47", "nodes": [ { - "id": 46899, + "id": 48047, "nodeType": "UsingForDirective", - "src": "172:32:41", + "src": "172:32:47", "nodes": [], "global": false, "libraryName": { - "id": 46896, + "id": 48044, "name": "SafeTransferLib", "nameLocations": [ - "178:15:41" + "178:15:47" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 45970, - "src": "178:15:41" + "referencedDeclaration": 47097, + "src": "178:15:47" }, "typeName": { - "id": 46898, + "id": 48046, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 46897, + "id": 48045, "name": "ERC20", "nameLocations": [ - "198:5:41" + "198:5:47" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 45885, - "src": "198:5:41" + "referencedDeclaration": 47012, + "src": "198:5:47" }, - "referencedDeclaration": 45885, - "src": "198:5:41", + "referencedDeclaration": 47012, + "src": "198:5:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$45885", + "typeIdentifier": "t_contract$_ERC20_$47012", "typeString": "contract ERC20" } } }, { - "id": 46917, + "id": 48065, "nodeType": "FunctionDefinition", - "src": "210:121:41", + "src": "210:121:47", "nodes": [], "body": { - "id": 46916, + "id": 48064, "nodeType": "Block", - "src": "284:47:41", + "src": "284:47:47", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 46912, + "id": 48060, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46904, - "src": "313:2:41", + "referencedDeclaration": 48052, + "src": "313:2:47", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 46913, + "id": 48061, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46906, - "src": "317:6:41", + "referencedDeclaration": 48054, + "src": "317:6:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -288,33 +288,33 @@ } ], "expression": { - "id": 46909, + "id": 48057, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46902, - "src": "294:5:41", + "referencedDeclaration": 48050, + "src": "294:5:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$45885", + "typeIdentifier": "t_contract$_ERC20_$47012", "typeString": "contract ERC20" } }, - "id": 46911, + "id": 48059, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "300:12:41", + "memberLocation": "300:12:47", "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 45949, - "src": "294:18:41", + "referencedDeclaration": 47076, + "src": "294:18:47", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$45885_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_ERC20_$45885_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$47012_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_ERC20_$47012_$", "typeString": "function (contract ERC20,address,uint256)" } }, - "id": 46914, + "id": 48062, "isConstant": false, "isLValue": false, "isPure": false, @@ -323,16 +323,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "294:30:41", + "src": "294:30:47", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 46915, + "id": 48063, "nodeType": "ExpressionStatement", - "src": "294:30:41" + "src": "294:30:47" } ] }, @@ -341,43 +341,43 @@ "kind": "function", "modifiers": [], "name": "sendSomeTokens", - "nameLocation": "219:14:41", + "nameLocation": "219:14:47", "parameters": { - "id": 46907, + "id": 48055, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 46902, + "id": 48050, "mutability": "mutable", "name": "token", - "nameLocation": "240:5:41", + "nameLocation": "240:5:47", "nodeType": "VariableDeclaration", - "scope": 46917, - "src": "234:11:41", + "scope": 48065, + "src": "234:11:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$45885", + "typeIdentifier": "t_contract$_ERC20_$47012", "typeString": "contract ERC20" }, "typeName": { - "id": 46901, + "id": 48049, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 46900, + "id": 48048, "name": "ERC20", "nameLocations": [ - "234:5:41" + "234:5:47" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 45885, - "src": "234:5:41" + "referencedDeclaration": 47012, + "src": "234:5:47" }, - "referencedDeclaration": 45885, - "src": "234:5:41", + "referencedDeclaration": 47012, + "src": "234:5:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$45885", + "typeIdentifier": "t_contract$_ERC20_$47012", "typeString": "contract ERC20" } }, @@ -385,13 +385,13 @@ }, { "constant": false, - "id": 46904, + "id": 48052, "mutability": "mutable", "name": "to", - "nameLocation": "255:2:41", + "nameLocation": "255:2:47", "nodeType": "VariableDeclaration", - "scope": 46917, - "src": "247:10:41", + "scope": 48065, + "src": "247:10:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -399,10 +399,10 @@ "typeString": "address" }, "typeName": { - "id": 46903, + "id": 48051, "name": "address", "nodeType": "ElementaryTypeName", - "src": "247:7:41", + "src": "247:7:47", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -413,13 +413,13 @@ }, { "constant": false, - "id": 46906, + "id": 48054, "mutability": "mutable", "name": "amount", - "nameLocation": "267:6:41", + "nameLocation": "267:6:47", "nodeType": "VariableDeclaration", - "scope": 46917, - "src": "259:14:41", + "scope": 48065, + "src": "259:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -427,10 +427,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46905, + "id": 48053, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "259:7:41", + "src": "259:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -439,15 +439,15 @@ "visibility": "internal" } ], - "src": "233:41:41" + "src": "233:41:47" }, "returnParameters": { - "id": 46908, + "id": 48056, "nodeType": "ParameterList", "parameters": [], - "src": "284:0:41" + "src": "284:0:47" }, - "scope": 46918, + "scope": 48066, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -460,16 +460,16 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 46918 + 48066 ], "name": "T11sTranferer", - "nameLocation": "152:13:41", - "scope": 46919, + "nameLocation": "152:13:47", + "scope": 48067, "usedErrors": [], "usedEvents": [] } ], "license": "MIT" }, - "id": 41 + "id": 47 } \ No newline at end of file diff --git a/tests/contract-playground/out/UniswapV2Swapper.sol/UniswapV2Swapper.json b/tests/contract-playground/out/UniswapV2Swapper.sol/UniswapV2Swapper.json index 14b65dd39..81aeaa76a 100644 --- a/tests/contract-playground/out/UniswapV2Swapper.sol/UniswapV2Swapper.json +++ b/tests/contract-playground/out/UniswapV2Swapper.sol/UniswapV2Swapper.json @@ -95,12 +95,12 @@ ], "bytecode": { "object": "0x608060405234801561001057600080fd5b50604051610c9c380380610c9c83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b610c09806100936000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80637bcbc7a81461003b578063fb0d010a14610050575b600080fd5b61004e610049366004610946565b610063565b005b61004e61005e3660046109c8565b6104a1565b6000546040516338ed173960e01b81526001600160a01b039091169081906338ed17399061009f908c908c908c908c908c908a90600401610a8a565b6000604051808303816000875af11580156100be573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526100e69190810190610ade565b50604051634401edf760e11b81526001600160a01b03821690638803dbee9061011d90879087908c908c908c908a90600401610a8a565b6000604051808303816000875af115801561013c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101649190810190610ade565b50604051637ff36ab560e01b81526001600160a01b03821690637ff36ab590610199908b908b908b908b908990600401610b9c565b6000604051808303816000875af11580156101b8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101e09190810190610ade565b50604051632512eca560e11b81526001600160a01b03821690634a25d94a9061021790879087908c908c908c908a90600401610a8a565b6000604051808303816000875af1158015610236573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261025e9190810190610ade565b506040516318cbafe560e01b81526001600160a01b038216906318cbafe590610295908c908c908c908c908c908a90600401610a8a565b6000604051808303816000875af11580156102b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102dc9190810190610ade565b5060405163fb3bdb4160e01b81526001600160a01b0382169063fb3bdb41906103119087908b908b908b908990600401610b9c565b6000604051808303816000875af1158015610330573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103589190810190610ade565b50600054604051635c11d79560e01b81526001600160a01b03909116908190635c11d79590610395908d908d908d908d908d908b90600401610a8a565b600060405180830381600087803b1580156103af57600080fd5b505af11580156103c3573d6000803e3d6000fd5b505060405163b6f9de9560e01b81526001600160a01b038416925063b6f9de9591506103fb908c908c908c908c908a90600401610b9c565b600060405180830381600087803b15801561041557600080fd5b505af1158015610429573d6000803e3d6000fd5b505060405163791ac94760e01b81526001600160a01b038416925063791ac9479150610463908d908d908d908d908d908b90600401610a8a565b600060405180830381600087803b15801561047d57600080fd5b505af1158015610491573d6000803e3d6000fd5b5050505050505050505050505050565b6000546040516338ed173960e01b81526001600160a01b039091169081906338ed1739906104dd908b908b908b908b908b904290600401610a8a565b6000604051808303816000875af11580156104fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105249190810190610ade565b50604051634401edf760e11b81526001600160a01b03821690638803dbee9061055b90869086908b908b908b904290600401610a8a565b6000604051808303816000875af115801561057a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105a29190810190610ade565b50604051637ff36ab560e01b81526001600160a01b03821690637ff36ab5906105d7908a908a908a908a904290600401610b9c565b6000604051808303816000875af11580156105f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261061e9190810190610ade565b50604051632512eca560e11b81526001600160a01b03821690634a25d94a9061065590869086908b908b908b904290600401610a8a565b6000604051808303816000875af1158015610674573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261069c9190810190610ade565b506040516318cbafe560e01b81526001600160a01b038216906318cbafe5906106d3908b908b908b908b908b904290600401610a8a565b6000604051808303816000875af11580156106f2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261071a9190810190610ade565b5060405163fb3bdb4160e01b81526001600160a01b0382169063fb3bdb419061074f9086908a908a908a904290600401610b9c565b6000604051808303816000875af115801561076e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107969190810190610ade565b50600054604051635c11d79560e01b81526001600160a01b03909116908190635c11d795906107d3908c908c908c908c908c904290600401610a8a565b600060405180830381600087803b1580156107ed57600080fd5b505af1158015610801573d6000803e3d6000fd5b505060405163b6f9de9560e01b81526001600160a01b038416925063b6f9de959150610839908b908b908b908b904290600401610b9c565b600060405180830381600087803b15801561085357600080fd5b505af1158015610867573d6000803e3d6000fd5b505060405163791ac94760e01b81526001600160a01b038416925063791ac94791506108a1908c908c908c908c908c904290600401610a8a565b600060405180830381600087803b1580156108bb57600080fd5b505af11580156108cf573d6000803e3d6000fd5b50505050505050505050505050565b60008083601f8401126108f057600080fd5b50813567ffffffffffffffff81111561090857600080fd5b6020830191508360208260051b850101111561092357600080fd5b9250929050565b80356001600160a01b038116811461094157600080fd5b919050565b60008060008060008060008060e0898b03121561096257600080fd5b8835975060208901359650604089013567ffffffffffffffff81111561098757600080fd5b6109938b828c016108de565b90975095506109a6905060608a0161092a565b979a96995094979396956080850135955060a08501359460c001359350915050565b600080600080600080600060c0888a0312156109e357600080fd5b8735965060208801359550604088013567ffffffffffffffff811115610a0857600080fd5b610a148a828b016108de565b9096509450610a2790506060890161092a565b92506080880135915060a0880135905092959891949750929550565b8183526000602080850194508260005b85811015610a7f576001600160a01b03610a6c8361092a565b1687529582019590820190600101610a53565b509495945050505050565b86815285602082015260a060408201526000610aaa60a083018688610a43565b6001600160a01b039490941660608301525060800152949350505050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215610af157600080fd5b825167ffffffffffffffff80821115610b0957600080fd5b818501915085601f830112610b1d57600080fd5b815181811115610b2f57610b2f610ac8565b8060051b604051601f19603f83011681018181108582111715610b5457610b54610ac8565b604052918252848201925083810185019188831115610b7257600080fd5b938501935b82851015610b9057845184529385019392850192610b77565b98975050505050505050565b858152608060208201526000610bb6608083018688610a43565b6001600160a01b039490941660408301525060600152939250505056fea26469706673582212209e7bf0147f31a65b4e8c4555fdfdd90bf77984e401593e359a3a6f8b8091722364736f6c63430008140033", - "sourceMap": "264:2529:45:-:0;;;327:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;365:8;:17;;-1:-1:-1;;;;;;365:17:45;-1:-1:-1;;;;;365:17:45;;;;;;;;;;264:2529;;14:290:48;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:48;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:48:o;:::-;264:2529:45;;;;;;", + "sourceMap": "264:2529:52:-:0;;;327:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;365:8;:17;;-1:-1:-1;;;;;;365:17:52;-1:-1:-1;;;;;365:17:52;;;;;;;;;;264:2529;;14:290:55;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:55;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:55:o;:::-;264:2529:52;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80637bcbc7a81461003b578063fb0d010a14610050575b600080fd5b61004e610049366004610946565b610063565b005b61004e61005e3660046109c8565b6104a1565b6000546040516338ed173960e01b81526001600160a01b039091169081906338ed17399061009f908c908c908c908c908c908a90600401610a8a565b6000604051808303816000875af11580156100be573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526100e69190810190610ade565b50604051634401edf760e11b81526001600160a01b03821690638803dbee9061011d90879087908c908c908c908a90600401610a8a565b6000604051808303816000875af115801561013c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101649190810190610ade565b50604051637ff36ab560e01b81526001600160a01b03821690637ff36ab590610199908b908b908b908b908990600401610b9c565b6000604051808303816000875af11580156101b8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101e09190810190610ade565b50604051632512eca560e11b81526001600160a01b03821690634a25d94a9061021790879087908c908c908c908a90600401610a8a565b6000604051808303816000875af1158015610236573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261025e9190810190610ade565b506040516318cbafe560e01b81526001600160a01b038216906318cbafe590610295908c908c908c908c908c908a90600401610a8a565b6000604051808303816000875af11580156102b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102dc9190810190610ade565b5060405163fb3bdb4160e01b81526001600160a01b0382169063fb3bdb41906103119087908b908b908b908990600401610b9c565b6000604051808303816000875af1158015610330573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103589190810190610ade565b50600054604051635c11d79560e01b81526001600160a01b03909116908190635c11d79590610395908d908d908d908d908d908b90600401610a8a565b600060405180830381600087803b1580156103af57600080fd5b505af11580156103c3573d6000803e3d6000fd5b505060405163b6f9de9560e01b81526001600160a01b038416925063b6f9de9591506103fb908c908c908c908c908a90600401610b9c565b600060405180830381600087803b15801561041557600080fd5b505af1158015610429573d6000803e3d6000fd5b505060405163791ac94760e01b81526001600160a01b038416925063791ac9479150610463908d908d908d908d908d908b90600401610a8a565b600060405180830381600087803b15801561047d57600080fd5b505af1158015610491573d6000803e3d6000fd5b5050505050505050505050505050565b6000546040516338ed173960e01b81526001600160a01b039091169081906338ed1739906104dd908b908b908b908b908b904290600401610a8a565b6000604051808303816000875af11580156104fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105249190810190610ade565b50604051634401edf760e11b81526001600160a01b03821690638803dbee9061055b90869086908b908b908b904290600401610a8a565b6000604051808303816000875af115801561057a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105a29190810190610ade565b50604051637ff36ab560e01b81526001600160a01b03821690637ff36ab5906105d7908a908a908a908a904290600401610b9c565b6000604051808303816000875af11580156105f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261061e9190810190610ade565b50604051632512eca560e11b81526001600160a01b03821690634a25d94a9061065590869086908b908b908b904290600401610a8a565b6000604051808303816000875af1158015610674573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261069c9190810190610ade565b506040516318cbafe560e01b81526001600160a01b038216906318cbafe5906106d3908b908b908b908b908b904290600401610a8a565b6000604051808303816000875af11580156106f2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261071a9190810190610ade565b5060405163fb3bdb4160e01b81526001600160a01b0382169063fb3bdb419061074f9086908a908a908a904290600401610b9c565b6000604051808303816000875af115801561076e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107969190810190610ade565b50600054604051635c11d79560e01b81526001600160a01b03909116908190635c11d795906107d3908c908c908c908c908c904290600401610a8a565b600060405180830381600087803b1580156107ed57600080fd5b505af1158015610801573d6000803e3d6000fd5b505060405163b6f9de9560e01b81526001600160a01b038416925063b6f9de959150610839908b908b908b908b904290600401610b9c565b600060405180830381600087803b15801561085357600080fd5b505af1158015610867573d6000803e3d6000fd5b505060405163791ac94760e01b81526001600160a01b038416925063791ac94791506108a1908c908c908c908c908c904290600401610a8a565b600060405180830381600087803b1580156108bb57600080fd5b505af11580156108cf573d6000803e3d6000fd5b50505050505050505050505050565b60008083601f8401126108f057600080fd5b50813567ffffffffffffffff81111561090857600080fd5b6020830191508360208260051b850101111561092357600080fd5b9250929050565b80356001600160a01b038116811461094157600080fd5b919050565b60008060008060008060008060e0898b03121561096257600080fd5b8835975060208901359650604089013567ffffffffffffffff81111561098757600080fd5b6109938b828c016108de565b90975095506109a6905060608a0161092a565b979a96995094979396956080850135955060a08501359460c001359350915050565b600080600080600080600060c0888a0312156109e357600080fd5b8735965060208801359550604088013567ffffffffffffffff811115610a0857600080fd5b610a148a828b016108de565b9096509450610a2790506060890161092a565b92506080880135915060a0880135905092959891949750929550565b8183526000602080850194508260005b85811015610a7f576001600160a01b03610a6c8361092a565b1687529582019590820190600101610a53565b509495945050505050565b86815285602082015260a060408201526000610aaa60a083018688610a43565b6001600160a01b039490941660608301525060800152949350505050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215610af157600080fd5b825167ffffffffffffffff80821115610b0957600080fd5b818501915085601f830112610b1d57600080fd5b815181811115610b2f57610b2f610ac8565b8060051b604051601f19603f83011681018181108582111715610b5457610b54610ac8565b604052918252848201925083810185019188831115610b7257600080fd5b938501935b82851015610b9057845184529385019392850192610b77565b98975050505050505050565b858152608060208201526000610bb6608083018688610a43565b6001600160a01b039490941660408301525060600152939250505056fea26469706673582212209e7bf0147f31a65b4e8c4555fdfdd90bf77984e401593e359a3a6f8b8091722364736f6c63430008140033", - "sourceMap": "264:2529:45:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1614:1177;;;;;;:::i;:::-;;:::i;:::-;;395:1213;;;;;;:::i;:::-;;:::i;1614:1177::-;1849:26;1897:8;1916:76;;-1:-1:-1;;;1916:76:45;;-1:-1:-1;;;;;1897:8:45;;;;;;1916:32;;:76;;1949:8;;1959:12;;1973:4;;;;1979:2;;1983:8;;1916:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1916:76:45;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2002:76:45;;-1:-1:-1;;;2002:76:45;;-1:-1:-1;;;;;2002:32:45;;;;;:76;;2035:9;;2046:11;;2059:4;;;;2065:2;;2069:8;;2002:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2002:76:45;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2088:63:45;;-1:-1:-1;;;2088:63:45;;-1:-1:-1;;;;;2088:29:45;;;;;:63;;2118:12;;2132:4;;;;2138:2;;2142:8;;2088:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2088:63:45;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2161:73:45;;-1:-1:-1;;;2161:73:45;;-1:-1:-1;;;;;2161:29:45;;;;;:73;;2191:9;;2202:11;;2215:4;;;;2221:2;;2225:8;;2161:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2161:73:45;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2244:73:45;;-1:-1:-1;;;2244:73:45;;-1:-1:-1;;;;;2244:29:45;;;;;:73;;2274:8;;2284:12;;2298:4;;;;2304:2;;2308:8;;2244:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2244:73:45;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2327:60:45;;-1:-1:-1;;;2327:60:45;;-1:-1:-1;;;;;2327:29:45;;;;;:60;;2357:9;;2368:4;;;;2374:2;;2378:8;;2327:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2327:60:45;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2398:26:45;2446:8;2465:105;;-1:-1:-1;;;2465:105:45;;-1:-1:-1;;;;;2446:8:45;;;;;;2465:61;;:105;;2527:8;;2537:12;;2551:4;;;;2557:2;;2561:8;;2465:105;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2580:92:45;;-1:-1:-1;;;2580:92:45;;-1:-1:-1;;;;;2580:58:45;;;-1:-1:-1;2580:58:45;;-1:-1:-1;2580:92:45;;2639:12;;2653:4;;;;2659:2;;2663:8;;2580:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2682:102:45;;-1:-1:-1;;;2682:102:45;;-1:-1:-1;;;;;2682:58:45;;;-1:-1:-1;2682:58:45;;-1:-1:-1;2682:102:45;;2741:8;;2751:12;;2765:4;;;;2771:2;;2775:8;;2682:102;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1839:952;;1614:1177;;;;;;;;:::o;395:1213::-;603:26;651:8;670:83;;-1:-1:-1;;;670:83:45;;-1:-1:-1;;;;;651:8:45;;;;;;670:32;;:83;;703:8;;713:12;;727:4;;;;733:2;;737:15;;670:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;670:83:45;;;;;;;;;;;;:::i;:::-;-1:-1:-1;763:83:45;;-1:-1:-1;;;763:83:45;;-1:-1:-1;;;;;763:32:45;;;;;:83;;796:9;;807:11;;820:4;;;;826:2;;830:15;;763:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;763:83:45;;;;;;;;;;;;:::i;:::-;-1:-1:-1;856:70:45;;-1:-1:-1;;;856:70:45;;-1:-1:-1;;;;;856:29:45;;;;;:70;;886:12;;900:4;;;;906:2;;910:15;;856:70;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;856:70:45;;;;;;;;;;;;:::i;:::-;-1:-1:-1;936:80:45;;-1:-1:-1;;;936:80:45;;-1:-1:-1;;;;;936:29:45;;;;;:80;;966:9;;977:11;;990:4;;;;996:2;;1000:15;;936:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;936:80:45;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1026:80:45;;-1:-1:-1;;;1026:80:45;;-1:-1:-1;;;;;1026:29:45;;;;;:80;;1056:8;;1066:12;;1080:4;;;;1086:2;;1090:15;;1026:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1026:80:45;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1116:67:45;;-1:-1:-1;;;1116:67:45;;-1:-1:-1;;;;;1116:29:45;;;;;:67;;1146:9;;1157:4;;;;1163:2;;1167:15;;1116:67;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1116:67:45;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1194:26:45;1242:8;1261:112;;-1:-1:-1;;;1261:112:45;;-1:-1:-1;;;;;1242:8:45;;;;;;1261:61;;:112;;1323:8;;1333:12;;1347:4;;;;1353:2;;1357:15;;1261:112;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1383:99:45;;-1:-1:-1;;;1383:99:45;;-1:-1:-1;;;;;1383:58:45;;;-1:-1:-1;1383:58:45;;-1:-1:-1;1383:99:45;;1442:12;;1456:4;;;;1462:2;;1466:15;;1383:99;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1492:109:45;;-1:-1:-1;;;1492:109:45;;-1:-1:-1;;;;;1492:58:45;;;-1:-1:-1;1492:58:45;;-1:-1:-1;1492:109:45;;1551:8;;1561:12;;1575:4;;;;1581:2;;1585:15;;1492:109;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;593:1015;;395:1213;;;;;;;:::o;14:367:48:-;77:8;87:6;141:3;134:4;126:6;122:17;118:27;108:55;;159:1;156;149:12;108:55;-1:-1:-1;182:20:48;;225:18;214:30;;211:50;;;257:1;254;247:12;211:50;294:4;286:6;282:17;270:29;;354:3;347:4;337:6;334:1;330:14;322:6;318:27;314:38;311:47;308:67;;;371:1;368;361:12;308:67;14:367;;;;;:::o;386:173::-;454:20;;-1:-1:-1;;;;;503:31:48;;493:42;;483:70;;549:1;546;539:12;483:70;386:173;;;:::o;564:855::-;704:6;712;720;728;736;744;752;760;813:3;801:9;792:7;788:23;784:33;781:53;;;830:1;827;820:12;781:53;866:9;853:23;843:33;;923:2;912:9;908:18;895:32;885:42;;978:2;967:9;963:18;950:32;1005:18;997:6;994:30;991:50;;;1037:1;1034;1027:12;991:50;1076:70;1138:7;1129:6;1118:9;1114:22;1076:70;:::i;:::-;1165:8;;-1:-1:-1;1050:96:48;-1:-1:-1;1219:38:48;;-1:-1:-1;1253:2:48;1238:18;;1219:38;:::i;:::-;564:855;;;;-1:-1:-1;564:855:48;;;;1209:48;1304:3;1289:19;;1276:33;;-1:-1:-1;1356:3:48;1341:19;;1328:33;;1408:3;1393:19;1380:33;;-1:-1:-1;564:855:48;-1:-1:-1;;564:855:48:o;1424:786::-;1555:6;1563;1571;1579;1587;1595;1603;1656:3;1644:9;1635:7;1631:23;1627:33;1624:53;;;1673:1;1670;1663:12;1624:53;1709:9;1696:23;1686:33;;1766:2;1755:9;1751:18;1738:32;1728:42;;1821:2;1810:9;1806:18;1793:32;1848:18;1840:6;1837:30;1834:50;;;1880:1;1877;1870:12;1834:50;1919:70;1981:7;1972:6;1961:9;1957:22;1919:70;:::i;:::-;2008:8;;-1:-1:-1;1893:96:48;-1:-1:-1;2062:38:48;;-1:-1:-1;2096:2:48;2081:18;;2062:38;:::i;:::-;2052:48;;2147:3;2136:9;2132:19;2119:33;2109:43;;2199:3;2188:9;2184:19;2171:33;2161:43;;1424:786;;;;;;;;;;:::o;2215:447::-;2315:6;2310:3;2303:19;2285:3;2341:4;2370:2;2365:3;2361:12;2354:19;;2396:5;2419:1;2429:208;2443:6;2440:1;2437:13;2429:208;;;-1:-1:-1;;;;;2508:26:48;2527:6;2508:26;:::i;:::-;2504:52;2492:65;;2577:12;;;;2612:15;;;;2465:1;2458:9;2429:208;;;-1:-1:-1;2653:3:48;;2215:447;-1:-1:-1;;;;;2215:447:48:o;2667:601::-;2968:6;2957:9;2950:25;3011:6;3006:2;2995:9;2991:18;2984:34;3054:3;3049:2;3038:9;3034:18;3027:31;2931:4;3075:74;3144:3;3133:9;3129:19;3121:6;3113;3075:74;:::i;:::-;-1:-1:-1;;;;;3185:32:48;;;;3180:2;3165:18;;3158:60;-1:-1:-1;3249:3:48;3234:19;3227:35;3067:82;2667:601;-1:-1:-1;;;;2667:601:48:o;3273:127::-;3334:10;3329:3;3325:20;3322:1;3315:31;3365:4;3362:1;3355:15;3389:4;3386:1;3379:15;3405:1105;3500:6;3531:2;3574;3562:9;3553:7;3549:23;3545:32;3542:52;;;3590:1;3587;3580:12;3542:52;3623:9;3617:16;3652:18;3693:2;3685:6;3682:14;3679:34;;;3709:1;3706;3699:12;3679:34;3747:6;3736:9;3732:22;3722:32;;3792:7;3785:4;3781:2;3777:13;3773:27;3763:55;;3814:1;3811;3804:12;3763:55;3843:2;3837:9;3865:2;3861;3858:10;3855:36;;;3871:18;;:::i;:::-;3917:2;3914:1;3910:10;3949:2;3943:9;4012:2;4008:7;4003:2;3999;3995:11;3991:25;3983:6;3979:38;4067:6;4055:10;4052:22;4047:2;4035:10;4032:18;4029:46;4026:72;;;4078:18;;:::i;:::-;4114:2;4107:22;4164:18;;;4198:15;;;;-1:-1:-1;4240:11:48;;;4236:20;;;4268:19;;;4265:39;;;4300:1;4297;4290:12;4265:39;4324:11;;;;4344:135;4360:6;4355:3;4352:15;4344:135;;;4426:10;;4414:23;;4377:12;;;;4457;;;;4344:135;;;4498:6;3405:1105;-1:-1:-1;;;;;;;;3405:1105:48:o;4515:529::-;4788:6;4777:9;4770:25;4831:3;4826:2;4815:9;4811:18;4804:31;4751:4;4852:74;4921:3;4910:9;4906:19;4898:6;4890;4852:74;:::i;:::-;-1:-1:-1;;;;;4962:32:48;;;;4957:2;4942:18;;4935:60;-1:-1:-1;5026:2:48;5011:18;5004:34;4844:82;4515:529;-1:-1:-1;;;4515:529:48:o", + "sourceMap": "264:2529:52:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1614:1177;;;;;;:::i;:::-;;:::i;:::-;;395:1213;;;;;;:::i;:::-;;:::i;1614:1177::-;1849:26;1897:8;1916:76;;-1:-1:-1;;;1916:76:52;;-1:-1:-1;;;;;1897:8:52;;;;;;1916:32;;:76;;1949:8;;1959:12;;1973:4;;;;1979:2;;1983:8;;1916:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1916:76:52;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2002:76:52;;-1:-1:-1;;;2002:76:52;;-1:-1:-1;;;;;2002:32:52;;;;;:76;;2035:9;;2046:11;;2059:4;;;;2065:2;;2069:8;;2002:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2002:76:52;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2088:63:52;;-1:-1:-1;;;2088:63:52;;-1:-1:-1;;;;;2088:29:52;;;;;:63;;2118:12;;2132:4;;;;2138:2;;2142:8;;2088:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2088:63:52;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2161:73:52;;-1:-1:-1;;;2161:73:52;;-1:-1:-1;;;;;2161:29:52;;;;;:73;;2191:9;;2202:11;;2215:4;;;;2221:2;;2225:8;;2161:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2161:73:52;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2244:73:52;;-1:-1:-1;;;2244:73:52;;-1:-1:-1;;;;;2244:29:52;;;;;:73;;2274:8;;2284:12;;2298:4;;;;2304:2;;2308:8;;2244:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2244:73:52;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2327:60:52;;-1:-1:-1;;;2327:60:52;;-1:-1:-1;;;;;2327:29:52;;;;;:60;;2357:9;;2368:4;;;;2374:2;;2378:8;;2327:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2327:60:52;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2398:26:52;2446:8;2465:105;;-1:-1:-1;;;2465:105:52;;-1:-1:-1;;;;;2446:8:52;;;;;;2465:61;;:105;;2527:8;;2537:12;;2551:4;;;;2557:2;;2561:8;;2465:105;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2580:92:52;;-1:-1:-1;;;2580:92:52;;-1:-1:-1;;;;;2580:58:52;;;-1:-1:-1;2580:58:52;;-1:-1:-1;2580:92:52;;2639:12;;2653:4;;;;2659:2;;2663:8;;2580:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2682:102:52;;-1:-1:-1;;;2682:102:52;;-1:-1:-1;;;;;2682:58:52;;;-1:-1:-1;2682:58:52;;-1:-1:-1;2682:102:52;;2741:8;;2751:12;;2765:4;;;;2771:2;;2775:8;;2682:102;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1839:952;;1614:1177;;;;;;;;:::o;395:1213::-;603:26;651:8;670:83;;-1:-1:-1;;;670:83:52;;-1:-1:-1;;;;;651:8:52;;;;;;670:32;;:83;;703:8;;713:12;;727:4;;;;733:2;;737:15;;670:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;670:83:52;;;;;;;;;;;;:::i;:::-;-1:-1:-1;763:83:52;;-1:-1:-1;;;763:83:52;;-1:-1:-1;;;;;763:32:52;;;;;:83;;796:9;;807:11;;820:4;;;;826:2;;830:15;;763:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;763:83:52;;;;;;;;;;;;:::i;:::-;-1:-1:-1;856:70:52;;-1:-1:-1;;;856:70:52;;-1:-1:-1;;;;;856:29:52;;;;;:70;;886:12;;900:4;;;;906:2;;910:15;;856:70;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;856:70:52;;;;;;;;;;;;:::i;:::-;-1:-1:-1;936:80:52;;-1:-1:-1;;;936:80:52;;-1:-1:-1;;;;;936:29:52;;;;;:80;;966:9;;977:11;;990:4;;;;996:2;;1000:15;;936:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;936:80:52;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1026:80:52;;-1:-1:-1;;;1026:80:52;;-1:-1:-1;;;;;1026:29:52;;;;;:80;;1056:8;;1066:12;;1080:4;;;;1086:2;;1090:15;;1026:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1026:80:52;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1116:67:52;;-1:-1:-1;;;1116:67:52;;-1:-1:-1;;;;;1116:29:52;;;;;:67;;1146:9;;1157:4;;;;1163:2;;1167:15;;1116:67;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1116:67:52;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1194:26:52;1242:8;1261:112;;-1:-1:-1;;;1261:112:52;;-1:-1:-1;;;;;1242:8:52;;;;;;1261:61;;:112;;1323:8;;1333:12;;1347:4;;;;1353:2;;1357:15;;1261:112;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1383:99:52;;-1:-1:-1;;;1383:99:52;;-1:-1:-1;;;;;1383:58:52;;;-1:-1:-1;1383:58:52;;-1:-1:-1;1383:99:52;;1442:12;;1456:4;;;;1462:2;;1466:15;;1383:99;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1492:109:52;;-1:-1:-1;;;1492:109:52;;-1:-1:-1;;;;;1492:58:52;;;-1:-1:-1;1492:58:52;;-1:-1:-1;1492:109:52;;1551:8;;1561:12;;1575:4;;;;1581:2;;1585:15;;1492:109;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;593:1015;;395:1213;;;;;;;:::o;14:367:55:-;77:8;87:6;141:3;134:4;126:6;122:17;118:27;108:55;;159:1;156;149:12;108:55;-1:-1:-1;182:20:55;;225:18;214:30;;211:50;;;257:1;254;247:12;211:50;294:4;286:6;282:17;270:29;;354:3;347:4;337:6;334:1;330:14;322:6;318:27;314:38;311:47;308:67;;;371:1;368;361:12;308:67;14:367;;;;;:::o;386:173::-;454:20;;-1:-1:-1;;;;;503:31:55;;493:42;;483:70;;549:1;546;539:12;483:70;386:173;;;:::o;564:855::-;704:6;712;720;728;736;744;752;760;813:3;801:9;792:7;788:23;784:33;781:53;;;830:1;827;820:12;781:53;866:9;853:23;843:33;;923:2;912:9;908:18;895:32;885:42;;978:2;967:9;963:18;950:32;1005:18;997:6;994:30;991:50;;;1037:1;1034;1027:12;991:50;1076:70;1138:7;1129:6;1118:9;1114:22;1076:70;:::i;:::-;1165:8;;-1:-1:-1;1050:96:55;-1:-1:-1;1219:38:55;;-1:-1:-1;1253:2:55;1238:18;;1219:38;:::i;:::-;564:855;;;;-1:-1:-1;564:855:55;;;;1209:48;1304:3;1289:19;;1276:33;;-1:-1:-1;1356:3:55;1341:19;;1328:33;;1408:3;1393:19;1380:33;;-1:-1:-1;564:855:55;-1:-1:-1;;564:855:55:o;1424:786::-;1555:6;1563;1571;1579;1587;1595;1603;1656:3;1644:9;1635:7;1631:23;1627:33;1624:53;;;1673:1;1670;1663:12;1624:53;1709:9;1696:23;1686:33;;1766:2;1755:9;1751:18;1738:32;1728:42;;1821:2;1810:9;1806:18;1793:32;1848:18;1840:6;1837:30;1834:50;;;1880:1;1877;1870:12;1834:50;1919:70;1981:7;1972:6;1961:9;1957:22;1919:70;:::i;:::-;2008:8;;-1:-1:-1;1893:96:55;-1:-1:-1;2062:38:55;;-1:-1:-1;2096:2:55;2081:18;;2062:38;:::i;:::-;2052:48;;2147:3;2136:9;2132:19;2119:33;2109:43;;2199:3;2188:9;2184:19;2171:33;2161:43;;1424:786;;;;;;;;;;:::o;2215:447::-;2315:6;2310:3;2303:19;2285:3;2341:4;2370:2;2365:3;2361:12;2354:19;;2396:5;2419:1;2429:208;2443:6;2440:1;2437:13;2429:208;;;-1:-1:-1;;;;;2508:26:55;2527:6;2508:26;:::i;:::-;2504:52;2492:65;;2577:12;;;;2612:15;;;;2465:1;2458:9;2429:208;;;-1:-1:-1;2653:3:55;;2215:447;-1:-1:-1;;;;;2215:447:55:o;2667:601::-;2968:6;2957:9;2950:25;3011:6;3006:2;2995:9;2991:18;2984:34;3054:3;3049:2;3038:9;3034:18;3027:31;2931:4;3075:74;3144:3;3133:9;3129:19;3121:6;3113;3075:74;:::i;:::-;-1:-1:-1;;;;;3185:32:55;;;;3180:2;3165:18;;3158:60;-1:-1:-1;3249:3:55;3234:19;3227:35;3067:82;2667:601;-1:-1:-1;;;;2667:601:55:o;3273:127::-;3334:10;3329:3;3325:20;3322:1;3315:31;3365:4;3362:1;3355:15;3389:4;3386:1;3379:15;3405:1105;3500:6;3531:2;3574;3562:9;3553:7;3549:23;3545:32;3542:52;;;3590:1;3587;3580:12;3542:52;3623:9;3617:16;3652:18;3693:2;3685:6;3682:14;3679:34;;;3709:1;3706;3699:12;3679:34;3747:6;3736:9;3732:22;3722:32;;3792:7;3785:4;3781:2;3777:13;3773:27;3763:55;;3814:1;3811;3804:12;3763:55;3843:2;3837:9;3865:2;3861;3858:10;3855:36;;;3871:18;;:::i;:::-;3917:2;3914:1;3910:10;3949:2;3943:9;4012:2;4008:7;4003:2;3999;3995:11;3991:25;3983:6;3979:38;4067:6;4055:10;4052:22;4047:2;4035:10;4032:18;4029:46;4026:72;;;4078:18;;:::i;:::-;4114:2;4107:22;4164:18;;;4198:15;;;;-1:-1:-1;4240:11:55;;;4236:20;;;4268:19;;;4265:39;;;4300:1;4297;4290:12;4265:39;4324:11;;;;4344:135;4360:6;4355:3;4352:15;4344:135;;;4426:10;;4414:23;;4377:12;;;;4457;;;;4344:135;;;4498:6;3405:1105;-1:-1:-1;;;;;;;;3405:1105:55:o;4515:529::-;4788:6;4777:9;4770:25;4831:3;4826:2;4815:9;4811:18;4804:31;4751:4;4852:74;4921:3;4910:9;4906:19;4898:6;4890;4852:74;:::i;:::-;-1:-1:-1;;;;;4962:32:55;;;;4957:2;4942:18;;4935:60;-1:-1:-1;5026:2:55;5011:18;5004:34;4844:82;4515:529;-1:-1:-1;;;4515:529:55:o", "linkReferences": {} }, "methodIdentifiers": { @@ -269,25 +269,25 @@ }, "ast": { "absolutePath": "src/uniswap/UniswapV2Swapper.sol", - "id": 47287, + "id": 48476, "exportedSymbols": { "IUniswapV2Router01": [ - 46278 + 47405 ], "IUniswapV2Router02": [ - 46366 + 47493 ], "UniswapV2Swapper": [ - 47286 + 48475 ] }, "nodeType": "SourceUnit", - "src": "32:2762:45", + "src": "32:2762:52", "nodes": [ { - "id": 47022, + "id": 48211, "nodeType": "PragmaDirective", - "src": "32:23:45", + "src": "32:23:52", "nodes": [], "literals": [ "solidity", @@ -296,24 +296,24 @@ ] }, { - "id": 47024, + "id": 48213, "nodeType": "ImportDirective", - "src": "57:102:45", + "src": "57:102:52", "nodes": [], "absolutePath": "lib/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol", "file": "../../lib/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol", "nameLocation": "-1:-1:-1", - "scope": 47287, - "sourceUnit": 46279, + "scope": 48476, + "sourceUnit": 47406, "symbolAliases": [ { "foreign": { - "id": 47023, + "id": 48212, "name": "IUniswapV2Router01", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46278, - "src": "65:18:45", + "referencedDeclaration": 47405, + "src": "65:18:52", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -322,24 +322,24 @@ "unitAlias": "" }, { - "id": 47026, + "id": 48215, "nodeType": "ImportDirective", - "src": "160:102:45", + "src": "160:102:52", "nodes": [], "absolutePath": "lib/v2-periphery/contracts/interfaces/IUniswapV2Router02.sol", "file": "../../lib/v2-periphery/contracts/interfaces/IUniswapV2Router02.sol", "nameLocation": "-1:-1:-1", - "scope": 47287, - "sourceUnit": 46367, + "scope": 48476, + "sourceUnit": 47494, "symbolAliases": [ { "foreign": { - "id": 47025, + "id": 48214, "name": "IUniswapV2Router02", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46366, - "src": "168:18:45", + "referencedDeclaration": 47493, + "src": "168:18:52", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -348,20 +348,20 @@ "unitAlias": "" }, { - "id": 47286, + "id": 48475, "nodeType": "ContractDefinition", - "src": "264:2529:45", + "src": "264:2529:52", "nodes": [ { - "id": 47028, + "id": 48217, "nodeType": "VariableDeclaration", - "src": "296:24:45", + "src": "296:24:52", "nodes": [], "constant": false, "mutability": "mutable", "name": "s_router", - "nameLocation": "312:8:45", - "scope": 47286, + "nameLocation": "312:8:52", + "scope": 48475, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -369,10 +369,10 @@ "typeString": "address" }, "typeName": { - "id": 47027, + "id": 48216, "name": "address", "nodeType": "ElementaryTypeName", - "src": "296:7:45", + "src": "296:7:52", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -382,30 +382,30 @@ "visibility": "private" }, { - "id": 47038, + "id": 48227, "nodeType": "FunctionDefinition", - "src": "327:62:45", + "src": "327:62:52", "nodes": [], "body": { - "id": 47037, + "id": 48226, "nodeType": "Block", - "src": "355:34:45", + "src": "355:34:52", "nodes": [], "statements": [ { "expression": { - "id": 47035, + "id": 48224, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 47033, + "id": 48222, "name": "s_router", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47028, - "src": "365:8:45", + "referencedDeclaration": 48217, + "src": "365:8:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -414,26 +414,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 47034, + "id": 48223, "name": "router", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47030, - "src": "376:6:45", + "referencedDeclaration": 48219, + "src": "376:6:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "365:17:45", + "src": "365:17:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 47036, + "id": 48225, "nodeType": "ExpressionStatement", - "src": "365:17:45" + "src": "365:17:52" } ] }, @@ -443,18 +443,18 @@ "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 47031, + "id": 48220, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 47030, + "id": 48219, "mutability": "mutable", "name": "router", - "nameLocation": "347:6:45", + "nameLocation": "347:6:52", "nodeType": "VariableDeclaration", - "scope": 47038, - "src": "339:14:45", + "scope": 48227, + "src": "339:14:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -462,10 +462,10 @@ "typeString": "address" }, "typeName": { - "id": 47029, + "id": 48218, "name": "address", "nodeType": "ElementaryTypeName", - "src": "339:7:45", + "src": "339:7:52", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -475,83 +475,83 @@ "visibility": "internal" } ], - "src": "338:16:45" + "src": "338:16:52" }, "returnParameters": { - "id": 47032, + "id": 48221, "nodeType": "ParameterList", "parameters": [], - "src": "355:0:45" + "src": "355:0:52" }, - "scope": 47286, + "scope": 48475, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 47165, + "id": 48354, "nodeType": "FunctionDefinition", - "src": "395:1213:45", + "src": "395:1213:52", "nodes": [], "body": { - "id": 47164, + "id": 48353, "nodeType": "Block", - "src": "593:1015:45", + "src": "593:1015:52", "nodes": [], "statements": [ { "assignments": [ - 47056 + 48245 ], "declarations": [ { "constant": false, - "id": 47056, + "id": 48245, "mutability": "mutable", "name": "router1", - "nameLocation": "622:7:45", + "nameLocation": "622:7:52", "nodeType": "VariableDeclaration", - "scope": 47164, - "src": "603:26:45", + "scope": 48353, + "src": "603:26:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" }, "typeName": { - "id": 47055, + "id": 48244, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 47054, + "id": 48243, "name": "IUniswapV2Router01", "nameLocations": [ - "603:18:45" + "603:18:52" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 46278, - "src": "603:18:45" + "referencedDeclaration": 47405, + "src": "603:18:52" }, - "referencedDeclaration": 46278, - "src": "603:18:45", + "referencedDeclaration": 47405, + "src": "603:18:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" } }, "visibility": "internal" } ], - "id": 47060, + "id": 48249, "initialValue": { "arguments": [ { - "id": 47058, + "id": 48247, "name": "s_router", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47028, - "src": "651:8:45", + "referencedDeclaration": 48217, + "src": "651:8:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -565,18 +565,18 @@ "typeString": "address" } ], - "id": 47057, + "id": 48246, "name": "IUniswapV2Router01", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46278, - "src": "632:18:45", + "referencedDeclaration": 47405, + "src": "632:18:52", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Router01_$46278_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Router01_$47405_$", "typeString": "type(contract IUniswapV2Router01)" } }, - "id": 47059, + "id": 48248, "isConstant": false, "isLValue": false, "isPure": false, @@ -585,62 +585,62 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "632:28:45", + "src": "632:28:52", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" } }, "nodeType": "VariableDeclarationStatement", - "src": "603:57:45" + "src": "603:57:52" }, { "expression": { "arguments": [ { - "id": 47064, + "id": 48253, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47040, - "src": "703:8:45", + "referencedDeclaration": 48229, + "src": "703:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47065, + "id": 48254, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47042, - "src": "713:12:45", + "referencedDeclaration": 48231, + "src": "713:12:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47066, + "id": 48255, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47045, - "src": "727:4:45", + "referencedDeclaration": 48234, + "src": "727:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47067, + "id": 48256, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47047, - "src": "733:2:45", + "referencedDeclaration": 48236, + "src": "733:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -648,26 +648,26 @@ }, { "expression": { - "id": 47068, + "id": 48257, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "737:5:45", + "src": "737:5:52", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 47069, + "id": 48258, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "743:9:45", + "memberLocation": "743:9:52", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "737:15:45", + "src": "737:15:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -698,33 +698,33 @@ } ], "expression": { - "id": 47061, + "id": 48250, "name": "router1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47056, - "src": "670:7:45", + "referencedDeclaration": 48245, + "src": "670:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" } }, - "id": 47063, + "id": 48252, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "678:24:45", + "memberLocation": "678:24:52", "memberName": "swapExactTokensForTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 46141, - "src": "670:32:45", + "referencedDeclaration": 47268, + "src": "670:32:52", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,address[] memory,address,uint256) external returns (uint256[] memory)" } }, - "id": 47070, + "id": 48259, "isConstant": false, "isLValue": false, "isPure": false, @@ -733,63 +733,63 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "670:83:45", + "src": "670:83:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 47071, + "id": 48260, "nodeType": "ExpressionStatement", - "src": "670:83:45" + "src": "670:83:52" }, { "expression": { "arguments": [ { - "id": 47075, + "id": 48264, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47049, - "src": "796:9:45", + "referencedDeclaration": 48238, + "src": "796:9:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47076, + "id": 48265, "name": "amountInMax", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47051, - "src": "807:11:45", + "referencedDeclaration": 48240, + "src": "807:11:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47077, + "id": 48266, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47045, - "src": "820:4:45", + "referencedDeclaration": 48234, + "src": "820:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47078, + "id": 48267, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47047, - "src": "826:2:45", + "referencedDeclaration": 48236, + "src": "826:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -797,26 +797,26 @@ }, { "expression": { - "id": 47079, + "id": 48268, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "830:5:45", + "src": "830:5:52", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 47080, + "id": 48269, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "836:9:45", + "memberLocation": "836:9:52", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "830:15:45", + "src": "830:15:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -847,33 +847,33 @@ } ], "expression": { - "id": 47072, + "id": 48261, "name": "router1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47056, - "src": "763:7:45", + "referencedDeclaration": 48245, + "src": "763:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" } }, - "id": 47074, + "id": 48263, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "771:24:45", + "memberLocation": "771:24:52", "memberName": "swapTokensForExactTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 46158, - "src": "763:32:45", + "referencedDeclaration": 47285, + "src": "763:32:52", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,address[] memory,address,uint256) external returns (uint256[] memory)" } }, - "id": 47081, + "id": 48270, "isConstant": false, "isLValue": false, "isPure": false, @@ -882,51 +882,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "763:83:45", + "src": "763:83:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 47082, + "id": 48271, "nodeType": "ExpressionStatement", - "src": "763:83:45" + "src": "763:83:52" }, { "expression": { "arguments": [ { - "id": 47086, + "id": 48275, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47042, - "src": "886:12:45", + "referencedDeclaration": 48231, + "src": "886:12:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47087, + "id": 48276, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47045, - "src": "900:4:45", + "referencedDeclaration": 48234, + "src": "900:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47088, + "id": 48277, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47047, - "src": "906:2:45", + "referencedDeclaration": 48236, + "src": "906:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -934,26 +934,26 @@ }, { "expression": { - "id": 47089, + "id": 48278, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "910:5:45", + "src": "910:5:52", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 47090, + "id": 48279, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "916:9:45", + "memberLocation": "916:9:52", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "910:15:45", + "src": "910:15:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -980,33 +980,33 @@ } ], "expression": { - "id": 47083, + "id": 48272, "name": "router1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47056, - "src": "856:7:45", + "referencedDeclaration": 48245, + "src": "856:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" } }, - "id": 47085, + "id": 48274, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "864:21:45", + "memberLocation": "864:21:52", "memberName": "swapExactETHForTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 46173, - "src": "856:29:45", + "referencedDeclaration": 47300, + "src": "856:29:52", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,address[] memory,address,uint256) payable external returns (uint256[] memory)" } }, - "id": 47091, + "id": 48280, "isConstant": false, "isLValue": false, "isPure": false, @@ -1015,63 +1015,63 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "856:70:45", + "src": "856:70:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 47092, + "id": 48281, "nodeType": "ExpressionStatement", - "src": "856:70:45" + "src": "856:70:52" }, { "expression": { "arguments": [ { - "id": 47096, + "id": 48285, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47049, - "src": "966:9:45", + "referencedDeclaration": 48238, + "src": "966:9:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47097, + "id": 48286, "name": "amountInMax", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47051, - "src": "977:11:45", + "referencedDeclaration": 48240, + "src": "977:11:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47098, + "id": 48287, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47045, - "src": "990:4:45", + "referencedDeclaration": 48234, + "src": "990:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47099, + "id": 48288, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47047, - "src": "996:2:45", + "referencedDeclaration": 48236, + "src": "996:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1079,26 +1079,26 @@ }, { "expression": { - "id": 47100, + "id": 48289, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "1000:5:45", + "src": "1000:5:52", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 47101, + "id": 48290, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1006:9:45", + "memberLocation": "1006:9:52", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "1000:15:45", + "src": "1000:15:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1129,33 +1129,33 @@ } ], "expression": { - "id": 47093, + "id": 48282, "name": "router1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47056, - "src": "936:7:45", + "referencedDeclaration": 48245, + "src": "936:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" } }, - "id": 47095, + "id": 48284, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "944:21:45", + "memberLocation": "944:21:52", "memberName": "swapTokensForExactETH", "nodeType": "MemberAccess", - "referencedDeclaration": 46190, - "src": "936:29:45", + "referencedDeclaration": 47317, + "src": "936:29:52", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,address[] memory,address,uint256) external returns (uint256[] memory)" } }, - "id": 47102, + "id": 48291, "isConstant": false, "isLValue": false, "isPure": false, @@ -1164,63 +1164,63 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "936:80:45", + "src": "936:80:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 47103, + "id": 48292, "nodeType": "ExpressionStatement", - "src": "936:80:45" + "src": "936:80:52" }, { "expression": { "arguments": [ { - "id": 47107, + "id": 48296, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47040, - "src": "1056:8:45", + "referencedDeclaration": 48229, + "src": "1056:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47108, + "id": 48297, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47042, - "src": "1066:12:45", + "referencedDeclaration": 48231, + "src": "1066:12:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47109, + "id": 48298, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47045, - "src": "1080:4:45", + "referencedDeclaration": 48234, + "src": "1080:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47110, + "id": 48299, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47047, - "src": "1086:2:45", + "referencedDeclaration": 48236, + "src": "1086:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1228,26 +1228,26 @@ }, { "expression": { - "id": 47111, + "id": 48300, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "1090:5:45", + "src": "1090:5:52", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 47112, + "id": 48301, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1096:9:45", + "memberLocation": "1096:9:52", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "1090:15:45", + "src": "1090:15:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1278,33 +1278,33 @@ } ], "expression": { - "id": 47104, + "id": 48293, "name": "router1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47056, - "src": "1026:7:45", + "referencedDeclaration": 48245, + "src": "1026:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" } }, - "id": 47106, + "id": 48295, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1034:21:45", + "memberLocation": "1034:21:52", "memberName": "swapExactTokensForETH", "nodeType": "MemberAccess", - "referencedDeclaration": 46207, - "src": "1026:29:45", + "referencedDeclaration": 47334, + "src": "1026:29:52", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,address[] memory,address,uint256) external returns (uint256[] memory)" } }, - "id": 47113, + "id": 48302, "isConstant": false, "isLValue": false, "isPure": false, @@ -1313,51 +1313,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1026:80:45", + "src": "1026:80:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 47114, + "id": 48303, "nodeType": "ExpressionStatement", - "src": "1026:80:45" + "src": "1026:80:52" }, { "expression": { "arguments": [ { - "id": 47118, + "id": 48307, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47049, - "src": "1146:9:45", + "referencedDeclaration": 48238, + "src": "1146:9:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47119, + "id": 48308, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47045, - "src": "1157:4:45", + "referencedDeclaration": 48234, + "src": "1157:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47120, + "id": 48309, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47047, - "src": "1163:2:45", + "referencedDeclaration": 48236, + "src": "1163:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1365,26 +1365,26 @@ }, { "expression": { - "id": 47121, + "id": 48310, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "1167:5:45", + "src": "1167:5:52", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 47122, + "id": 48311, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1173:9:45", + "memberLocation": "1173:9:52", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "1167:15:45", + "src": "1167:15:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1411,33 +1411,33 @@ } ], "expression": { - "id": 47115, + "id": 48304, "name": "router1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47056, - "src": "1116:7:45", + "referencedDeclaration": 48245, + "src": "1116:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" } }, - "id": 47117, + "id": 48306, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1124:21:45", + "memberLocation": "1124:21:52", "memberName": "swapETHForExactTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 46222, - "src": "1116:29:45", + "referencedDeclaration": 47349, + "src": "1116:29:52", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,address[] memory,address,uint256) payable external returns (uint256[] memory)" } }, - "id": 47123, + "id": 48312, "isConstant": false, "isLValue": false, "isPure": false, @@ -1446,70 +1446,70 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1116:67:45", + "src": "1116:67:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 47124, + "id": 48313, "nodeType": "ExpressionStatement", - "src": "1116:67:45" + "src": "1116:67:52" }, { "assignments": [ - 47127 + 48316 ], "declarations": [ { "constant": false, - "id": 47127, + "id": 48316, "mutability": "mutable", "name": "router2", - "nameLocation": "1213:7:45", + "nameLocation": "1213:7:52", "nodeType": "VariableDeclaration", - "scope": 47164, - "src": "1194:26:45", + "scope": 48353, + "src": "1194:26:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$46366", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$47493", "typeString": "contract IUniswapV2Router02" }, "typeName": { - "id": 47126, + "id": 48315, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 47125, + "id": 48314, "name": "IUniswapV2Router02", "nameLocations": [ - "1194:18:45" + "1194:18:52" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 46366, - "src": "1194:18:45" + "referencedDeclaration": 47493, + "src": "1194:18:52" }, - "referencedDeclaration": 46366, - "src": "1194:18:45", + "referencedDeclaration": 47493, + "src": "1194:18:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$46366", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$47493", "typeString": "contract IUniswapV2Router02" } }, "visibility": "internal" } ], - "id": 47131, + "id": 48320, "initialValue": { "arguments": [ { - "id": 47129, + "id": 48318, "name": "s_router", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47028, - "src": "1242:8:45", + "referencedDeclaration": 48217, + "src": "1242:8:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1523,18 +1523,18 @@ "typeString": "address" } ], - "id": 47128, + "id": 48317, "name": "IUniswapV2Router02", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46366, - "src": "1223:18:45", + "referencedDeclaration": 47493, + "src": "1223:18:52", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Router02_$46366_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Router02_$47493_$", "typeString": "type(contract IUniswapV2Router02)" } }, - "id": 47130, + "id": 48319, "isConstant": false, "isLValue": false, "isPure": false, @@ -1543,62 +1543,62 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1223:28:45", + "src": "1223:28:52", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$46366", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$47493", "typeString": "contract IUniswapV2Router02" } }, "nodeType": "VariableDeclarationStatement", - "src": "1194:57:45" + "src": "1194:57:52" }, { "expression": { "arguments": [ { - "id": 47135, + "id": 48324, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47040, - "src": "1323:8:45", + "referencedDeclaration": 48229, + "src": "1323:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47136, + "id": 48325, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47042, - "src": "1333:12:45", + "referencedDeclaration": 48231, + "src": "1333:12:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47137, + "id": 48326, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47045, - "src": "1347:4:45", + "referencedDeclaration": 48234, + "src": "1347:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47138, + "id": 48327, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47047, - "src": "1353:2:45", + "referencedDeclaration": 48236, + "src": "1353:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1606,26 +1606,26 @@ }, { "expression": { - "id": 47139, + "id": 48328, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "1357:5:45", + "src": "1357:5:52", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 47140, + "id": 48329, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1363:9:45", + "memberLocation": "1363:9:52", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "1357:15:45", + "src": "1357:15:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1656,33 +1656,33 @@ } ], "expression": { - "id": 47132, + "id": 48321, "name": "router2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47127, - "src": "1261:7:45", + "referencedDeclaration": 48316, + "src": "1261:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$46366", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$47493", "typeString": "contract IUniswapV2Router02" } }, - "id": 47134, + "id": 48323, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1269:53:45", + "memberLocation": "1269:53:52", "memberName": "swapExactTokensForTokensSupportingFeeOnTransferTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 46339, - "src": "1261:61:45", + "referencedDeclaration": 47466, + "src": "1261:61:52", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,address[] memory,address,uint256) external" } }, - "id": 47141, + "id": 48330, "isConstant": false, "isLValue": false, "isPure": false, @@ -1691,51 +1691,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1261:112:45", + "src": "1261:112:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 47142, + "id": 48331, "nodeType": "ExpressionStatement", - "src": "1261:112:45" + "src": "1261:112:52" }, { "expression": { "arguments": [ { - "id": 47146, + "id": 48335, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47042, - "src": "1442:12:45", + "referencedDeclaration": 48231, + "src": "1442:12:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47147, + "id": 48336, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47045, - "src": "1456:4:45", + "referencedDeclaration": 48234, + "src": "1456:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47148, + "id": 48337, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47047, - "src": "1462:2:45", + "referencedDeclaration": 48236, + "src": "1462:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1743,26 +1743,26 @@ }, { "expression": { - "id": 47149, + "id": 48338, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "1466:5:45", + "src": "1466:5:52", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 47150, + "id": 48339, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1472:9:45", + "memberLocation": "1472:9:52", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "1466:15:45", + "src": "1466:15:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1789,33 +1789,33 @@ } ], "expression": { - "id": 47143, + "id": 48332, "name": "router2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47127, - "src": "1383:7:45", + "referencedDeclaration": 48316, + "src": "1383:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$46366", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$47493", "typeString": "contract IUniswapV2Router02" } }, - "id": 47145, + "id": 48334, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1391:50:45", + "memberLocation": "1391:50:52", "memberName": "swapExactETHForTokensSupportingFeeOnTransferTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 46351, - "src": "1383:58:45", + "referencedDeclaration": 47478, + "src": "1383:58:52", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (uint256,address[] memory,address,uint256) payable external" } }, - "id": 47151, + "id": 48340, "isConstant": false, "isLValue": false, "isPure": false, @@ -1824,63 +1824,63 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1383:99:45", + "src": "1383:99:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 47152, + "id": 48341, "nodeType": "ExpressionStatement", - "src": "1383:99:45" + "src": "1383:99:52" }, { "expression": { "arguments": [ { - "id": 47156, + "id": 48345, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47040, - "src": "1551:8:45", + "referencedDeclaration": 48229, + "src": "1551:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47157, + "id": 48346, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47042, - "src": "1561:12:45", + "referencedDeclaration": 48231, + "src": "1561:12:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47158, + "id": 48347, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47045, - "src": "1575:4:45", + "referencedDeclaration": 48234, + "src": "1575:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47159, + "id": 48348, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47047, - "src": "1581:2:45", + "referencedDeclaration": 48236, + "src": "1581:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1888,26 +1888,26 @@ }, { "expression": { - "id": 47160, + "id": 48349, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "1585:5:45", + "src": "1585:5:52", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 47161, + "id": 48350, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1591:9:45", + "memberLocation": "1591:9:52", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "1585:15:45", + "src": "1585:15:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1938,33 +1938,33 @@ } ], "expression": { - "id": 47153, + "id": 48342, "name": "router2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47127, - "src": "1492:7:45", + "referencedDeclaration": 48316, + "src": "1492:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$46366", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$47493", "typeString": "contract IUniswapV2Router02" } }, - "id": 47155, + "id": 48344, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1500:50:45", + "memberLocation": "1500:50:52", "memberName": "swapExactTokensForETHSupportingFeeOnTransferTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 46365, - "src": "1492:58:45", + "referencedDeclaration": 47492, + "src": "1492:58:52", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,address[] memory,address,uint256) external" } }, - "id": 47162, + "id": 48351, "isConstant": false, "isLValue": false, "isPure": false, @@ -1973,16 +1973,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1492:109:45", + "src": "1492:109:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 47163, + "id": 48352, "nodeType": "ExpressionStatement", - "src": "1492:109:45" + "src": "1492:109:52" } ] }, @@ -1991,20 +1991,20 @@ "kind": "function", "modifiers": [], "name": "badSwaps", - "nameLocation": "404:8:45", + "nameLocation": "404:8:52", "parameters": { - "id": 47052, + "id": 48241, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 47040, + "id": 48229, "mutability": "mutable", "name": "amountIn", - "nameLocation": "430:8:45", + "nameLocation": "430:8:52", "nodeType": "VariableDeclaration", - "scope": 47165, - "src": "422:16:45", + "scope": 48354, + "src": "422:16:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2012,10 +2012,10 @@ "typeString": "uint256" }, "typeName": { - "id": 47039, + "id": 48228, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "422:7:45", + "src": "422:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2025,13 +2025,13 @@ }, { "constant": false, - "id": 47042, + "id": 48231, "mutability": "mutable", "name": "amountOutMin", - "nameLocation": "456:12:45", + "nameLocation": "456:12:52", "nodeType": "VariableDeclaration", - "scope": 47165, - "src": "448:20:45", + "scope": 48354, + "src": "448:20:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2039,10 +2039,10 @@ "typeString": "uint256" }, "typeName": { - "id": 47041, + "id": 48230, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "448:7:45", + "src": "448:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2052,13 +2052,13 @@ }, { "constant": false, - "id": 47045, + "id": 48234, "mutability": "mutable", "name": "path", - "nameLocation": "497:4:45", + "nameLocation": "497:4:52", "nodeType": "VariableDeclaration", - "scope": 47165, - "src": "478:23:45", + "scope": 48354, + "src": "478:23:52", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -2067,19 +2067,19 @@ }, "typeName": { "baseType": { - "id": 47043, + "id": 48232, "name": "address", "nodeType": "ElementaryTypeName", - "src": "478:7:45", + "src": "478:7:52", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 47044, + "id": 48233, "nodeType": "ArrayTypeName", - "src": "478:9:45", + "src": "478:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -2089,13 +2089,13 @@ }, { "constant": false, - "id": 47047, + "id": 48236, "mutability": "mutable", "name": "to", - "nameLocation": "519:2:45", + "nameLocation": "519:2:52", "nodeType": "VariableDeclaration", - "scope": 47165, - "src": "511:10:45", + "scope": 48354, + "src": "511:10:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2103,10 +2103,10 @@ "typeString": "address" }, "typeName": { - "id": 47046, + "id": 48235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "511:7:45", + "src": "511:7:52", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2117,13 +2117,13 @@ }, { "constant": false, - "id": 47049, + "id": 48238, "mutability": "mutable", "name": "amountOut", - "nameLocation": "539:9:45", + "nameLocation": "539:9:52", "nodeType": "VariableDeclaration", - "scope": 47165, - "src": "531:17:45", + "scope": 48354, + "src": "531:17:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2131,10 +2131,10 @@ "typeString": "uint256" }, "typeName": { - "id": 47048, + "id": 48237, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "531:7:45", + "src": "531:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2144,13 +2144,13 @@ }, { "constant": false, - "id": 47051, + "id": 48240, "mutability": "mutable", "name": "amountInMax", - "nameLocation": "566:11:45", + "nameLocation": "566:11:52", "nodeType": "VariableDeclaration", - "scope": 47165, - "src": "558:19:45", + "scope": 48354, + "src": "558:19:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2158,10 +2158,10 @@ "typeString": "uint256" }, "typeName": { - "id": 47050, + "id": 48239, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "558:7:45", + "src": "558:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2170,83 +2170,83 @@ "visibility": "internal" } ], - "src": "412:171:45" + "src": "412:171:52" }, "returnParameters": { - "id": 47053, + "id": 48242, "nodeType": "ParameterList", "parameters": [], - "src": "593:0:45" + "src": "593:0:52" }, - "scope": 47286, + "scope": 48475, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 47285, + "id": 48474, "nodeType": "FunctionDefinition", - "src": "1614:1177:45", + "src": "1614:1177:52", "nodes": [], "body": { - "id": 47284, + "id": 48473, "nodeType": "Block", - "src": "1839:952:45", + "src": "1839:952:52", "nodes": [], "statements": [ { "assignments": [ - 47185 + 48374 ], "declarations": [ { "constant": false, - "id": 47185, + "id": 48374, "mutability": "mutable", "name": "router1", - "nameLocation": "1868:7:45", + "nameLocation": "1868:7:52", "nodeType": "VariableDeclaration", - "scope": 47284, - "src": "1849:26:45", + "scope": 48473, + "src": "1849:26:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" }, "typeName": { - "id": 47184, + "id": 48373, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 47183, + "id": 48372, "name": "IUniswapV2Router01", "nameLocations": [ - "1849:18:45" + "1849:18:52" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 46278, - "src": "1849:18:45" + "referencedDeclaration": 47405, + "src": "1849:18:52" }, - "referencedDeclaration": 46278, - "src": "1849:18:45", + "referencedDeclaration": 47405, + "src": "1849:18:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" } }, "visibility": "internal" } ], - "id": 47189, + "id": 48378, "initialValue": { "arguments": [ { - "id": 47187, + "id": 48376, "name": "s_router", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47028, - "src": "1897:8:45", + "referencedDeclaration": 48217, + "src": "1897:8:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2260,18 +2260,18 @@ "typeString": "address" } ], - "id": 47186, + "id": 48375, "name": "IUniswapV2Router01", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46278, - "src": "1878:18:45", + "referencedDeclaration": 47405, + "src": "1878:18:52", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Router01_$46278_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Router01_$47405_$", "typeString": "type(contract IUniswapV2Router01)" } }, - "id": 47188, + "id": 48377, "isConstant": false, "isLValue": false, "isPure": false, @@ -2280,74 +2280,74 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1878:28:45", + "src": "1878:28:52", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" } }, "nodeType": "VariableDeclarationStatement", - "src": "1849:57:45" + "src": "1849:57:52" }, { "expression": { "arguments": [ { - "id": 47193, + "id": 48382, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47167, - "src": "1949:8:45", + "referencedDeclaration": 48356, + "src": "1949:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47194, + "id": 48383, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47169, - "src": "1959:12:45", + "referencedDeclaration": 48358, + "src": "1959:12:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47195, + "id": 48384, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47172, - "src": "1973:4:45", + "referencedDeclaration": 48361, + "src": "1973:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47196, + "id": 48385, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47174, - "src": "1979:2:45", + "referencedDeclaration": 48363, + "src": "1979:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 47197, + "id": 48386, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47180, - "src": "1983:8:45", + "referencedDeclaration": 48369, + "src": "1983:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2378,33 +2378,33 @@ } ], "expression": { - "id": 47190, + "id": 48379, "name": "router1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47185, - "src": "1916:7:45", + "referencedDeclaration": 48374, + "src": "1916:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" } }, - "id": 47192, + "id": 48381, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1924:24:45", + "memberLocation": "1924:24:52", "memberName": "swapExactTokensForTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 46141, - "src": "1916:32:45", + "referencedDeclaration": 47268, + "src": "1916:32:52", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,address[] memory,address,uint256) external returns (uint256[] memory)" } }, - "id": 47198, + "id": 48387, "isConstant": false, "isLValue": false, "isPure": false, @@ -2413,75 +2413,75 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1916:76:45", + "src": "1916:76:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 47199, + "id": 48388, "nodeType": "ExpressionStatement", - "src": "1916:76:45" + "src": "1916:76:52" }, { "expression": { "arguments": [ { - "id": 47203, + "id": 48392, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47176, - "src": "2035:9:45", + "referencedDeclaration": 48365, + "src": "2035:9:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47204, + "id": 48393, "name": "amountInMax", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47178, - "src": "2046:11:45", + "referencedDeclaration": 48367, + "src": "2046:11:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47205, + "id": 48394, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47172, - "src": "2059:4:45", + "referencedDeclaration": 48361, + "src": "2059:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47206, + "id": 48395, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47174, - "src": "2065:2:45", + "referencedDeclaration": 48363, + "src": "2065:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 47207, + "id": 48396, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47180, - "src": "2069:8:45", + "referencedDeclaration": 48369, + "src": "2069:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2512,33 +2512,33 @@ } ], "expression": { - "id": 47200, + "id": 48389, "name": "router1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47185, - "src": "2002:7:45", + "referencedDeclaration": 48374, + "src": "2002:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" } }, - "id": 47202, + "id": 48391, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2010:24:45", + "memberLocation": "2010:24:52", "memberName": "swapTokensForExactTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 46158, - "src": "2002:32:45", + "referencedDeclaration": 47285, + "src": "2002:32:52", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,address[] memory,address,uint256) external returns (uint256[] memory)" } }, - "id": 47208, + "id": 48397, "isConstant": false, "isLValue": false, "isPure": false, @@ -2547,63 +2547,63 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2002:76:45", + "src": "2002:76:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 47209, + "id": 48398, "nodeType": "ExpressionStatement", - "src": "2002:76:45" + "src": "2002:76:52" }, { "expression": { "arguments": [ { - "id": 47213, + "id": 48402, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47169, - "src": "2118:12:45", + "referencedDeclaration": 48358, + "src": "2118:12:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47214, + "id": 48403, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47172, - "src": "2132:4:45", + "referencedDeclaration": 48361, + "src": "2132:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47215, + "id": 48404, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47174, - "src": "2138:2:45", + "referencedDeclaration": 48363, + "src": "2138:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 47216, + "id": 48405, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47180, - "src": "2142:8:45", + "referencedDeclaration": 48369, + "src": "2142:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2630,33 +2630,33 @@ } ], "expression": { - "id": 47210, + "id": 48399, "name": "router1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47185, - "src": "2088:7:45", + "referencedDeclaration": 48374, + "src": "2088:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" } }, - "id": 47212, + "id": 48401, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2096:21:45", + "memberLocation": "2096:21:52", "memberName": "swapExactETHForTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 46173, - "src": "2088:29:45", + "referencedDeclaration": 47300, + "src": "2088:29:52", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,address[] memory,address,uint256) payable external returns (uint256[] memory)" } }, - "id": 47217, + "id": 48406, "isConstant": false, "isLValue": false, "isPure": false, @@ -2665,75 +2665,75 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2088:63:45", + "src": "2088:63:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 47218, + "id": 48407, "nodeType": "ExpressionStatement", - "src": "2088:63:45" + "src": "2088:63:52" }, { "expression": { "arguments": [ { - "id": 47222, + "id": 48411, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47176, - "src": "2191:9:45", + "referencedDeclaration": 48365, + "src": "2191:9:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47223, + "id": 48412, "name": "amountInMax", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47178, - "src": "2202:11:45", + "referencedDeclaration": 48367, + "src": "2202:11:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47224, + "id": 48413, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47172, - "src": "2215:4:45", + "referencedDeclaration": 48361, + "src": "2215:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47225, + "id": 48414, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47174, - "src": "2221:2:45", + "referencedDeclaration": 48363, + "src": "2221:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 47226, + "id": 48415, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47180, - "src": "2225:8:45", + "referencedDeclaration": 48369, + "src": "2225:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2764,33 +2764,33 @@ } ], "expression": { - "id": 47219, + "id": 48408, "name": "router1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47185, - "src": "2161:7:45", + "referencedDeclaration": 48374, + "src": "2161:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" } }, - "id": 47221, + "id": 48410, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2169:21:45", + "memberLocation": "2169:21:52", "memberName": "swapTokensForExactETH", "nodeType": "MemberAccess", - "referencedDeclaration": 46190, - "src": "2161:29:45", + "referencedDeclaration": 47317, + "src": "2161:29:52", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,address[] memory,address,uint256) external returns (uint256[] memory)" } }, - "id": 47227, + "id": 48416, "isConstant": false, "isLValue": false, "isPure": false, @@ -2799,75 +2799,75 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2161:73:45", + "src": "2161:73:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 47228, + "id": 48417, "nodeType": "ExpressionStatement", - "src": "2161:73:45" + "src": "2161:73:52" }, { "expression": { "arguments": [ { - "id": 47232, + "id": 48421, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47167, - "src": "2274:8:45", + "referencedDeclaration": 48356, + "src": "2274:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47233, + "id": 48422, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47169, - "src": "2284:12:45", + "referencedDeclaration": 48358, + "src": "2284:12:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47234, + "id": 48423, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47172, - "src": "2298:4:45", + "referencedDeclaration": 48361, + "src": "2298:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47235, + "id": 48424, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47174, - "src": "2304:2:45", + "referencedDeclaration": 48363, + "src": "2304:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 47236, + "id": 48425, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47180, - "src": "2308:8:45", + "referencedDeclaration": 48369, + "src": "2308:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2898,33 +2898,33 @@ } ], "expression": { - "id": 47229, + "id": 48418, "name": "router1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47185, - "src": "2244:7:45", + "referencedDeclaration": 48374, + "src": "2244:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" } }, - "id": 47231, + "id": 48420, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2252:21:45", + "memberLocation": "2252:21:52", "memberName": "swapExactTokensForETH", "nodeType": "MemberAccess", - "referencedDeclaration": 46207, - "src": "2244:29:45", + "referencedDeclaration": 47334, + "src": "2244:29:52", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,address[] memory,address,uint256) external returns (uint256[] memory)" } }, - "id": 47237, + "id": 48426, "isConstant": false, "isLValue": false, "isPure": false, @@ -2933,63 +2933,63 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2244:73:45", + "src": "2244:73:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 47238, + "id": 48427, "nodeType": "ExpressionStatement", - "src": "2244:73:45" + "src": "2244:73:52" }, { "expression": { "arguments": [ { - "id": 47242, + "id": 48431, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47176, - "src": "2357:9:45", + "referencedDeclaration": 48365, + "src": "2357:9:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47243, + "id": 48432, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47172, - "src": "2368:4:45", + "referencedDeclaration": 48361, + "src": "2368:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47244, + "id": 48433, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47174, - "src": "2374:2:45", + "referencedDeclaration": 48363, + "src": "2374:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 47245, + "id": 48434, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47180, - "src": "2378:8:45", + "referencedDeclaration": 48369, + "src": "2378:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3016,33 +3016,33 @@ } ], "expression": { - "id": 47239, + "id": 48428, "name": "router1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47185, - "src": "2327:7:45", + "referencedDeclaration": 48374, + "src": "2327:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$46278", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$47405", "typeString": "contract IUniswapV2Router01" } }, - "id": 47241, + "id": 48430, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2335:21:45", + "memberLocation": "2335:21:52", "memberName": "swapETHForExactTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 46222, - "src": "2327:29:45", + "referencedDeclaration": 47349, + "src": "2327:29:52", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,address[] memory,address,uint256) payable external returns (uint256[] memory)" } }, - "id": 47246, + "id": 48435, "isConstant": false, "isLValue": false, "isPure": false, @@ -3051,70 +3051,70 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2327:60:45", + "src": "2327:60:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 47247, + "id": 48436, "nodeType": "ExpressionStatement", - "src": "2327:60:45" + "src": "2327:60:52" }, { "assignments": [ - 47250 + 48439 ], "declarations": [ { "constant": false, - "id": 47250, + "id": 48439, "mutability": "mutable", "name": "router2", - "nameLocation": "2417:7:45", + "nameLocation": "2417:7:52", "nodeType": "VariableDeclaration", - "scope": 47284, - "src": "2398:26:45", + "scope": 48473, + "src": "2398:26:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$46366", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$47493", "typeString": "contract IUniswapV2Router02" }, "typeName": { - "id": 47249, + "id": 48438, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 47248, + "id": 48437, "name": "IUniswapV2Router02", "nameLocations": [ - "2398:18:45" + "2398:18:52" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 46366, - "src": "2398:18:45" + "referencedDeclaration": 47493, + "src": "2398:18:52" }, - "referencedDeclaration": 46366, - "src": "2398:18:45", + "referencedDeclaration": 47493, + "src": "2398:18:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$46366", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$47493", "typeString": "contract IUniswapV2Router02" } }, "visibility": "internal" } ], - "id": 47254, + "id": 48443, "initialValue": { "arguments": [ { - "id": 47252, + "id": 48441, "name": "s_router", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47028, - "src": "2446:8:45", + "referencedDeclaration": 48217, + "src": "2446:8:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3128,18 +3128,18 @@ "typeString": "address" } ], - "id": 47251, + "id": 48440, "name": "IUniswapV2Router02", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46366, - "src": "2427:18:45", + "referencedDeclaration": 47493, + "src": "2427:18:52", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Router02_$46366_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Router02_$47493_$", "typeString": "type(contract IUniswapV2Router02)" } }, - "id": 47253, + "id": 48442, "isConstant": false, "isLValue": false, "isPure": false, @@ -3148,74 +3148,74 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2427:28:45", + "src": "2427:28:52", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$46366", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$47493", "typeString": "contract IUniswapV2Router02" } }, "nodeType": "VariableDeclarationStatement", - "src": "2398:57:45" + "src": "2398:57:52" }, { "expression": { "arguments": [ { - "id": 47258, + "id": 48447, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47167, - "src": "2527:8:45", + "referencedDeclaration": 48356, + "src": "2527:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47259, + "id": 48448, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47169, - "src": "2537:12:45", + "referencedDeclaration": 48358, + "src": "2537:12:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47260, + "id": 48449, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47172, - "src": "2551:4:45", + "referencedDeclaration": 48361, + "src": "2551:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47261, + "id": 48450, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47174, - "src": "2557:2:45", + "referencedDeclaration": 48363, + "src": "2557:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 47262, + "id": 48451, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47180, - "src": "2561:8:45", + "referencedDeclaration": 48369, + "src": "2561:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3246,33 +3246,33 @@ } ], "expression": { - "id": 47255, + "id": 48444, "name": "router2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47250, - "src": "2465:7:45", + "referencedDeclaration": 48439, + "src": "2465:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$46366", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$47493", "typeString": "contract IUniswapV2Router02" } }, - "id": 47257, + "id": 48446, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2473:53:45", + "memberLocation": "2473:53:52", "memberName": "swapExactTokensForTokensSupportingFeeOnTransferTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 46339, - "src": "2465:61:45", + "referencedDeclaration": 47466, + "src": "2465:61:52", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,address[] memory,address,uint256) external" } }, - "id": 47263, + "id": 48452, "isConstant": false, "isLValue": false, "isPure": false, @@ -3281,63 +3281,63 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2465:105:45", + "src": "2465:105:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 47264, + "id": 48453, "nodeType": "ExpressionStatement", - "src": "2465:105:45" + "src": "2465:105:52" }, { "expression": { "arguments": [ { - "id": 47268, + "id": 48457, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47169, - "src": "2639:12:45", + "referencedDeclaration": 48358, + "src": "2639:12:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47269, + "id": 48458, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47172, - "src": "2653:4:45", + "referencedDeclaration": 48361, + "src": "2653:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47270, + "id": 48459, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47174, - "src": "2659:2:45", + "referencedDeclaration": 48363, + "src": "2659:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 47271, + "id": 48460, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47180, - "src": "2663:8:45", + "referencedDeclaration": 48369, + "src": "2663:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3364,33 +3364,33 @@ } ], "expression": { - "id": 47265, + "id": 48454, "name": "router2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47250, - "src": "2580:7:45", + "referencedDeclaration": 48439, + "src": "2580:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$46366", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$47493", "typeString": "contract IUniswapV2Router02" } }, - "id": 47267, + "id": 48456, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2588:50:45", + "memberLocation": "2588:50:52", "memberName": "swapExactETHForTokensSupportingFeeOnTransferTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 46351, - "src": "2580:58:45", + "referencedDeclaration": 47478, + "src": "2580:58:52", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (uint256,address[] memory,address,uint256) payable external" } }, - "id": 47272, + "id": 48461, "isConstant": false, "isLValue": false, "isPure": false, @@ -3399,75 +3399,75 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2580:92:45", + "src": "2580:92:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 47273, + "id": 48462, "nodeType": "ExpressionStatement", - "src": "2580:92:45" + "src": "2580:92:52" }, { "expression": { "arguments": [ { - "id": 47277, + "id": 48466, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47167, - "src": "2741:8:45", + "referencedDeclaration": 48356, + "src": "2741:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47278, + "id": 48467, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47169, - "src": "2751:12:45", + "referencedDeclaration": 48358, + "src": "2751:12:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 47279, + "id": 48468, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47172, - "src": "2765:4:45", + "referencedDeclaration": 48361, + "src": "2765:4:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { - "id": 47280, + "id": 48469, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47174, - "src": "2771:2:45", + "referencedDeclaration": 48363, + "src": "2771:2:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 47281, + "id": 48470, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47180, - "src": "2775:8:45", + "referencedDeclaration": 48369, + "src": "2775:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3498,33 +3498,33 @@ } ], "expression": { - "id": 47274, + "id": 48463, "name": "router2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47250, - "src": "2682:7:45", + "referencedDeclaration": 48439, + "src": "2682:7:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$46366", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$47493", "typeString": "contract IUniswapV2Router02" } }, - "id": 47276, + "id": 48465, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2690:50:45", + "memberLocation": "2690:50:52", "memberName": "swapExactTokensForETHSupportingFeeOnTransferTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 46365, - "src": "2682:58:45", + "referencedDeclaration": 47492, + "src": "2682:58:52", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,address[] memory,address,uint256) external" } }, - "id": 47282, + "id": 48471, "isConstant": false, "isLValue": false, "isPure": false, @@ -3533,16 +3533,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2682:102:45", + "src": "2682:102:52", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 47283, + "id": 48472, "nodeType": "ExpressionStatement", - "src": "2682:102:45" + "src": "2682:102:52" } ] }, @@ -3551,20 +3551,20 @@ "kind": "function", "modifiers": [], "name": "goodSwaps", - "nameLocation": "1623:9:45", + "nameLocation": "1623:9:52", "parameters": { - "id": 47181, + "id": 48370, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 47167, + "id": 48356, "mutability": "mutable", "name": "amountIn", - "nameLocation": "1650:8:45", + "nameLocation": "1650:8:52", "nodeType": "VariableDeclaration", - "scope": 47285, - "src": "1642:16:45", + "scope": 48474, + "src": "1642:16:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3572,10 +3572,10 @@ "typeString": "uint256" }, "typeName": { - "id": 47166, + "id": 48355, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1642:7:45", + "src": "1642:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3585,13 +3585,13 @@ }, { "constant": false, - "id": 47169, + "id": 48358, "mutability": "mutable", "name": "amountOutMin", - "nameLocation": "1676:12:45", + "nameLocation": "1676:12:52", "nodeType": "VariableDeclaration", - "scope": 47285, - "src": "1668:20:45", + "scope": 48474, + "src": "1668:20:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3599,10 +3599,10 @@ "typeString": "uint256" }, "typeName": { - "id": 47168, + "id": 48357, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1668:7:45", + "src": "1668:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3612,13 +3612,13 @@ }, { "constant": false, - "id": 47172, + "id": 48361, "mutability": "mutable", "name": "path", - "nameLocation": "1717:4:45", + "nameLocation": "1717:4:52", "nodeType": "VariableDeclaration", - "scope": 47285, - "src": "1698:23:45", + "scope": 48474, + "src": "1698:23:52", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3627,19 +3627,19 @@ }, "typeName": { "baseType": { - "id": 47170, + "id": 48359, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1698:7:45", + "src": "1698:7:52", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 47171, + "id": 48360, "nodeType": "ArrayTypeName", - "src": "1698:9:45", + "src": "1698:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -3649,13 +3649,13 @@ }, { "constant": false, - "id": 47174, + "id": 48363, "mutability": "mutable", "name": "to", - "nameLocation": "1739:2:45", + "nameLocation": "1739:2:52", "nodeType": "VariableDeclaration", - "scope": 47285, - "src": "1731:10:45", + "scope": 48474, + "src": "1731:10:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3663,10 +3663,10 @@ "typeString": "address" }, "typeName": { - "id": 47173, + "id": 48362, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1731:7:45", + "src": "1731:7:52", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3677,13 +3677,13 @@ }, { "constant": false, - "id": 47176, + "id": 48365, "mutability": "mutable", "name": "amountOut", - "nameLocation": "1759:9:45", + "nameLocation": "1759:9:52", "nodeType": "VariableDeclaration", - "scope": 47285, - "src": "1751:17:45", + "scope": 48474, + "src": "1751:17:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3691,10 +3691,10 @@ "typeString": "uint256" }, "typeName": { - "id": 47175, + "id": 48364, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1751:7:45", + "src": "1751:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3704,13 +3704,13 @@ }, { "constant": false, - "id": 47178, + "id": 48367, "mutability": "mutable", "name": "amountInMax", - "nameLocation": "1786:11:45", + "nameLocation": "1786:11:52", "nodeType": "VariableDeclaration", - "scope": 47285, - "src": "1778:19:45", + "scope": 48474, + "src": "1778:19:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3718,10 +3718,10 @@ "typeString": "uint256" }, "typeName": { - "id": 47177, + "id": 48366, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1778:7:45", + "src": "1778:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3731,13 +3731,13 @@ }, { "constant": false, - "id": 47180, + "id": 48369, "mutability": "mutable", "name": "deadline", - "nameLocation": "1815:8:45", + "nameLocation": "1815:8:52", "nodeType": "VariableDeclaration", - "scope": 47285, - "src": "1807:16:45", + "scope": 48474, + "src": "1807:16:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3745,10 +3745,10 @@ "typeString": "uint256" }, "typeName": { - "id": 47179, + "id": 48368, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1807:7:45", + "src": "1807:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3757,15 +3757,15 @@ "visibility": "internal" } ], - "src": "1632:197:45" + "src": "1632:197:52" }, "returnParameters": { - "id": 47182, + "id": 48371, "nodeType": "ParameterList", "parameters": [], - "src": "1839:0:45" + "src": "1839:0:52" }, - "scope": 47286, + "scope": 48475, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -3778,16 +3778,16 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 47286 + 48475 ], "name": "UniswapV2Swapper", - "nameLocation": "273:16:45", - "scope": 47287, + "nameLocation": "273:16:52", + "scope": 48476, "usedErrors": [], "usedEvents": [] } ], "license": "MIT" }, - "id": 45 + "id": 52 } \ No newline at end of file diff --git a/tests/contract-playground/out/UniswapV3Swapper.sol/UniswapV3Swapper.json b/tests/contract-playground/out/UniswapV3Swapper.sol/UniswapV3Swapper.json index cac8f8f21..c47911ec1 100644 --- a/tests/contract-playground/out/UniswapV3Swapper.sol/UniswapV3Swapper.json +++ b/tests/contract-playground/out/UniswapV3Swapper.sol/UniswapV3Swapper.json @@ -94,12 +94,12 @@ ], "bytecode": { "object": "0x608060405234801561001057600080fd5b506107e9806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80639ce6e80d1461003b578063b9dab04a14610050575b600080fd5b61004e61004936600461067e565b610063565b005b61004e61005e366004610700565b610358565b6000604051806101000160405280896001600160a01b03168152602001886001600160a01b031681526020018762ffffff168152602001866001600160a01b03168152602001428152602001858152602001848152602001836001600160a01b03168152509050604051806101000160405280896001600160a01b03168152602001886001600160a01b031681526020018762ffffff168152602001866001600160a01b03168152602001428152602001858152602001848152602001836001600160a01b0316815250905060006040518060a001604052808a8a60405160200161014f92919061078c565b6040516020818303038152906040528152602001876001600160a01b031681526020014281526020018681526020018581525090506040518060a001604052808a8a6040516020016101a292919061078c565b6040516020818303038152906040528152602001876001600160a01b0316815260200142815260200186815260200185815250905060006040518061010001604052808b6001600160a01b031681526020018a6001600160a01b031681526020018962ffffff168152602001886001600160a01b03168152602001428152602001868152602001878152602001856001600160a01b031681525090506040518061010001604052808b6001600160a01b031681526020018a6001600160a01b031681526020018962ffffff168152602001886001600160a01b03168152602001428152602001868152602001878152602001856001600160a01b0316815250905060006040518060a001604052808c8c6040516020016102c392919061078c565b6040516020818303038152906040528152602001896001600160a01b031681526020014281526020018781526020018881525090506040518060a001604052808c8c60405160200161031692919061078c565b6040516020818303038152906040528152602001896001600160a01b031681526020014281526020018781526020018881525090505050505050505050505050565b60006040518061010001604052808a6001600160a01b03168152602001896001600160a01b031681526020018862ffffff168152602001876001600160a01b03168152602001838152602001868152602001858152602001846001600160a01b031681525090506040518061010001604052808a6001600160a01b03168152602001896001600160a01b031681526020018862ffffff168152602001876001600160a01b03168152602001838152602001868152602001858152602001846001600160a01b0316815250905060006040518060a001604052808b8b60405160200161044492919061078c565b6040516020818303038152906040528152602001886001600160a01b031681526020018481526020018781526020018681525090506040518060a001604052808b8b60405160200161049792919061078c565b6040516020818303038152906040528152602001886001600160a01b0316815260200184815260200187815260200186815250905060006040518061010001604052808c6001600160a01b031681526020018b6001600160a01b031681526020018a62ffffff168152602001896001600160a01b03168152602001858152602001878152602001888152602001866001600160a01b031681525090506040518061010001604052808c6001600160a01b031681526020018b6001600160a01b031681526020018a62ffffff168152602001896001600160a01b03168152602001858152602001878152602001888152602001866001600160a01b0316815250905060006040518060a001604052808d8d6040516020016105b892919061078c565b60405160208183030381529060405281526020018a6001600160a01b031681526020018681526020018881526020018981525090506040518060a001604052808d8d60405160200161060b92919061078c565b60405160208183030381529060405281526020018a6001600160a01b03168152602001868152602001888152602001898152509050505050505050505050505050565b6001600160a01b038116811461066357600080fd5b50565b803562ffffff8116811461067957600080fd5b919050565b600080600080600080600060e0888a03121561069957600080fd5b87356106a48161064e565b965060208801356106b48161064e565b95506106c260408901610666565b945060608801356106d28161064e565b93506080880135925060a0880135915060c08801356106f08161064e565b8091505092959891949750929550565b600080600080600080600080610100898b03121561071d57600080fd5b88356107288161064e565b975060208901356107388161064e565b965061074660408a01610666565b955060608901356107568161064e565b94506080890135935060a0890135925060c08901356107748161064e565b8092505060e089013590509295985092959890939650565b6bffffffffffffffffffffffff19606093841b811682529190921b1660148201526028019056fea264697066735822122092fb36073aee981eb19478f8668bbd3f3ea459d5e9b0f787e6ea6ccb759b6e0264736f6c63430008140033", - "sourceMap": "787:4574:0:-:0;;;;;;;;;;;;;;;;;;;", + "sourceMap": "787:4574:53:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80639ce6e80d1461003b578063b9dab04a14610050575b600080fd5b61004e61004936600461067e565b610063565b005b61004e61005e366004610700565b610358565b6000604051806101000160405280896001600160a01b03168152602001886001600160a01b031681526020018762ffffff168152602001866001600160a01b03168152602001428152602001858152602001848152602001836001600160a01b03168152509050604051806101000160405280896001600160a01b03168152602001886001600160a01b031681526020018762ffffff168152602001866001600160a01b03168152602001428152602001858152602001848152602001836001600160a01b0316815250905060006040518060a001604052808a8a60405160200161014f92919061078c565b6040516020818303038152906040528152602001876001600160a01b031681526020014281526020018681526020018581525090506040518060a001604052808a8a6040516020016101a292919061078c565b6040516020818303038152906040528152602001876001600160a01b0316815260200142815260200186815260200185815250905060006040518061010001604052808b6001600160a01b031681526020018a6001600160a01b031681526020018962ffffff168152602001886001600160a01b03168152602001428152602001868152602001878152602001856001600160a01b031681525090506040518061010001604052808b6001600160a01b031681526020018a6001600160a01b031681526020018962ffffff168152602001886001600160a01b03168152602001428152602001868152602001878152602001856001600160a01b0316815250905060006040518060a001604052808c8c6040516020016102c392919061078c565b6040516020818303038152906040528152602001896001600160a01b031681526020014281526020018781526020018881525090506040518060a001604052808c8c60405160200161031692919061078c565b6040516020818303038152906040528152602001896001600160a01b031681526020014281526020018781526020018881525090505050505050505050505050565b60006040518061010001604052808a6001600160a01b03168152602001896001600160a01b031681526020018862ffffff168152602001876001600160a01b03168152602001838152602001868152602001858152602001846001600160a01b031681525090506040518061010001604052808a6001600160a01b03168152602001896001600160a01b031681526020018862ffffff168152602001876001600160a01b03168152602001838152602001868152602001858152602001846001600160a01b0316815250905060006040518060a001604052808b8b60405160200161044492919061078c565b6040516020818303038152906040528152602001886001600160a01b031681526020018481526020018781526020018681525090506040518060a001604052808b8b60405160200161049792919061078c565b6040516020818303038152906040528152602001886001600160a01b0316815260200184815260200187815260200186815250905060006040518061010001604052808c6001600160a01b031681526020018b6001600160a01b031681526020018a62ffffff168152602001896001600160a01b03168152602001858152602001878152602001888152602001866001600160a01b031681525090506040518061010001604052808c6001600160a01b031681526020018b6001600160a01b031681526020018a62ffffff168152602001896001600160a01b03168152602001858152602001878152602001888152602001866001600160a01b0316815250905060006040518060a001604052808d8d6040516020016105b892919061078c565b60405160208183030381529060405281526020018a6001600160a01b031681526020018681526020018881526020018981525090506040518060a001604052808d8d60405160200161060b92919061078c565b60405160208183030381529060405281526020018a6001600160a01b03168152602001868152602001888152602001898152509050505050505050505050505050565b6001600160a01b038116811461066357600080fd5b50565b803562ffffff8116811461067957600080fd5b919050565b600080600080600080600060e0888a03121561069957600080fd5b87356106a48161064e565b965060208801356106b48161064e565b95506106c260408901610666565b945060608801356106d28161064e565b93506080880135925060a0880135915060c08801356106f08161064e565b8091505092959891949750929550565b600080600080600080600080610100898b03121561071d57600080fd5b88356107288161064e565b975060208901356107388161064e565b965061074660408a01610666565b955060608901356107568161064e565b94506080890135935060a0890135925060c08901356107748161064e565b8092505060e089013590509295985092959890939650565b6bffffffffffffffffffffffff19606093841b811682529190921b1660148201526028019056fea264697066735822122092fb36073aee981eb19478f8668bbd3f3ea459d5e9b0f787e6ea6ccb759b6e0264736f6c63430008140033", - "sourceMap": "787:4574:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;819:2286;;;;;;:::i;:::-;;:::i;:::-;;3111:2248;;;;;;:::i;:::-;;:::i;819:2286::-;1060:52;1115:143;;;;;;;;1151:7;-1:-1:-1;;;;;1115:143:0;;;;;1160:8;-1:-1:-1;;;;;1115:143:0;;;;;1170:3;1115:143;;;;;;1175:9;-1:-1:-1;;;;;1115:143:0;;;;;1186:15;1115:143;;;;1203:8;1115:143;;;;1213:16;1115:143;;;;1231:17;-1:-1:-1;;;;;1115:143:0;;;;1060:198;;1293:321;;;;;;;;1339:7;-1:-1:-1;;;;;1293:321:0;;;;;1370:8;-1:-1:-1;;;;;1293:321:0;;;;;1397:3;1293:321;;;;;;1425:9;-1:-1:-1;;;;;1293:321:0;;;;;1458:15;1293:321;;;;1497:8;1293:321;;;;1537:16;1293:321;;;;1586:17;-1:-1:-1;;;;;1293:321:0;;;;1268:346;;1625:40;1668:131;;;;;;;;1715:7;1724:8;1698:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1668:131;;;;1735:9;-1:-1:-1;;;;;1668:131:0;;;;;1746:15;1668:131;;;;1763:8;1668:131;;;;1773:16;1668:131;;;1625:174;;1828:236;;;;;;;;1882:7;1891:8;1865:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1828:236;;;;1925:9;-1:-1:-1;;;;;1828:236:0;;;;;1958:15;1828:236;;;;1997:8;1828:236;;;;2037:16;1828:236;;;1809:255;;2075:54;2132:144;;;;;;;;2169:7;-1:-1:-1;;;;;2132:144:0;;;;;2178:8;-1:-1:-1;;;;;2132:144:0;;;;;2188:3;2132:144;;;;;;2193:9;-1:-1:-1;;;;;2132:144:0;;;;;2204:15;2132:144;;;;2221:16;2132:144;;;;2239:8;2132:144;;;;2249:17;-1:-1:-1;;;;;2132:144:0;;;;2075:201;;2312:322;;;;;;;;2359:7;-1:-1:-1;;;;;2312:322:0;;;;;2390:8;-1:-1:-1;;;;;2312:322:0;;;;;2417:3;2312:322;;;;;;2445:9;-1:-1:-1;;;;;2312:322:0;;;;;2478:15;2312:322;;;;2518:16;2312:322;;;;2565:8;2312:322;;;;2606:17;-1:-1:-1;;;;;2312:322:0;;;;2286:348;;2645:42;2690:132;;;;;;;;2738:7;2747:8;2721:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2690:132;;;;2758:9;-1:-1:-1;;;;;2690:132:0;;;;;2769:15;2690:132;;;;2786:16;2690:132;;;;2804:8;2690:132;;;2645:177;;2852:237;;;;;;;;2907:7;2916:8;2890:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2852:237;;;;2950:9;-1:-1:-1;;;;;2852:237:0;;;;;2983:15;2852:237;;;;3023:16;2852:237;;;;3070:8;2852:237;;;2832:257;;1050:2055;;;;819:2286;;;;;;;:::o;3111:2248::-;3379:52;3434:136;;;;;;;;3470:7;-1:-1:-1;;;;;3434:136:0;;;;;3479:8;-1:-1:-1;;;;;3434:136:0;;;;;3489:3;3434:136;;;;;;3494:9;-1:-1:-1;;;;;3434:136:0;;;;;3505:8;3434:136;;;;3515:8;3434:136;;;;3525:16;3434:136;;;;3543:17;-1:-1:-1;;;;;3434:136:0;;;;3379:191;;3605:314;;;;;;;;3651:7;-1:-1:-1;;;;;3605:314:0;;;;;3682:8;-1:-1:-1;;;;;3605:314:0;;;;;3709:3;3605:314;;;;;;3737:9;-1:-1:-1;;;;;3605:314:0;;;;;3770:8;3605:314;;;;3802:8;3605:314;;;;3842:16;3605:314;;;;3891:17;-1:-1:-1;;;;;3605:314:0;;;;3580:339;;3930:40;3973:124;;;;;;;;4020:7;4029:8;4003:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3973:124;;;;4040:9;-1:-1:-1;;;;;3973:124:0;;;;;4051:8;3973:124;;;;4061:8;3973:124;;;;4071:16;3973:124;;;3930:167;;4126:229;;;;;;;;4180:7;4189:8;4163:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4126:229;;;;4223:9;-1:-1:-1;;;;;4126:229:0;;;;;4256:8;4126:229;;;;4288:8;4126:229;;;;4328:16;4126:229;;;4107:248;;4366:54;4423:137;;;;;;;;4460:7;-1:-1:-1;;;;;4423:137:0;;;;;4469:8;-1:-1:-1;;;;;4423:137:0;;;;;4479:3;4423:137;;;;;;4484:9;-1:-1:-1;;;;;4423:137:0;;;;;4495:8;4423:137;;;;4505:16;4423:137;;;;4523:8;4423:137;;;;4533:17;-1:-1:-1;;;;;4423:137:0;;;;4366:194;;4596:315;;;;;;;;4643:7;-1:-1:-1;;;;;4596:315:0;;;;;4674:8;-1:-1:-1;;;;;4596:315:0;;;;;4701:3;4596:315;;;;;;4729:9;-1:-1:-1;;;;;4596:315:0;;;;;4762:8;4596:315;;;;4795:16;4596:315;;;;4842:8;4596:315;;;;4883:17;-1:-1:-1;;;;;4596:315:0;;;;4570:341;;4922:42;4967:125;;;;;;;;5015:7;5024:8;4998:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4967:125;;;;5035:9;-1:-1:-1;;;;;4967:125:0;;;;;5046:8;4967:125;;;;5056:16;4967:125;;;;5074:8;4967:125;;;4922:170;;5122:230;;;;;;;;5177:7;5186:8;5160:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5122:230;;;;5220:9;-1:-1:-1;;;;;5122:230:0;;;;;5253:8;5122:230;;;;5286:16;5122:230;;;;5333:8;5122:230;;;5102:250;;3369:1990;;;;3111:2248;;;;;;;;:::o;14:131:1:-;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:161::-;217:20;;277:8;266:20;;256:31;;246:59;;301:1;298;291:12;246:59;150:161;;;:::o;316:882::-;428:6;436;444;452;460;468;476;529:3;517:9;508:7;504:23;500:33;497:53;;;546:1;543;536:12;497:53;585:9;572:23;604:31;629:5;604:31;:::i;:::-;654:5;-1:-1:-1;711:2:1;696:18;;683:32;724:33;683:32;724:33;:::i;:::-;776:7;-1:-1:-1;802:37:1;835:2;820:18;;802:37;:::i;:::-;792:47;;891:2;880:9;876:18;863:32;904:33;929:7;904:33;:::i;:::-;956:7;-1:-1:-1;1010:3:1;995:19;;982:33;;-1:-1:-1;1062:3:1;1047:19;;1034:33;;-1:-1:-1;1119:3:1;1104:19;;1091:33;1133;1091;1133;:::i;:::-;1185:7;1175:17;;;316:882;;;;;;;;;;:::o;1203:951::-;1324:6;1332;1340;1348;1356;1364;1372;1380;1433:3;1421:9;1412:7;1408:23;1404:33;1401:53;;;1450:1;1447;1440:12;1401:53;1489:9;1476:23;1508:31;1533:5;1508:31;:::i;:::-;1558:5;-1:-1:-1;1615:2:1;1600:18;;1587:32;1628:33;1587:32;1628:33;:::i;:::-;1680:7;-1:-1:-1;1706:37:1;1739:2;1724:18;;1706:37;:::i;:::-;1696:47;;1795:2;1784:9;1780:18;1767:32;1808:33;1833:7;1808:33;:::i;:::-;1860:7;-1:-1:-1;1914:3:1;1899:19;;1886:33;;-1:-1:-1;1966:3:1;1951:19;;1938:33;;-1:-1:-1;2023:3:1;2008:19;;1995:33;2037;1995;2037;:::i;:::-;2089:7;2079:17;;;2143:3;2132:9;2128:19;2115:33;2105:43;;1203:951;;;;;;;;;;;:::o;2159:333::-;-1:-1:-1;;2386:2:1;2382:15;;;2378:24;;2366:37;;2437:15;;;;2433:24;2428:2;2419:12;;2412:46;2483:2;2474:12;;2159:333::o", + "sourceMap": "787:4574:53:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;819:2286;;;;;;:::i;:::-;;:::i;:::-;;3111:2248;;;;;;:::i;:::-;;:::i;819:2286::-;1060:52;1115:143;;;;;;;;1151:7;-1:-1:-1;;;;;1115:143:53;;;;;1160:8;-1:-1:-1;;;;;1115:143:53;;;;;1170:3;1115:143;;;;;;1175:9;-1:-1:-1;;;;;1115:143:53;;;;;1186:15;1115:143;;;;1203:8;1115:143;;;;1213:16;1115:143;;;;1231:17;-1:-1:-1;;;;;1115:143:53;;;;1060:198;;1293:321;;;;;;;;1339:7;-1:-1:-1;;;;;1293:321:53;;;;;1370:8;-1:-1:-1;;;;;1293:321:53;;;;;1397:3;1293:321;;;;;;1425:9;-1:-1:-1;;;;;1293:321:53;;;;;1458:15;1293:321;;;;1497:8;1293:321;;;;1537:16;1293:321;;;;1586:17;-1:-1:-1;;;;;1293:321:53;;;;1268:346;;1625:40;1668:131;;;;;;;;1715:7;1724:8;1698:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1668:131;;;;1735:9;-1:-1:-1;;;;;1668:131:53;;;;;1746:15;1668:131;;;;1763:8;1668:131;;;;1773:16;1668:131;;;1625:174;;1828:236;;;;;;;;1882:7;1891:8;1865:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1828:236;;;;1925:9;-1:-1:-1;;;;;1828:236:53;;;;;1958:15;1828:236;;;;1997:8;1828:236;;;;2037:16;1828:236;;;1809:255;;2075:54;2132:144;;;;;;;;2169:7;-1:-1:-1;;;;;2132:144:53;;;;;2178:8;-1:-1:-1;;;;;2132:144:53;;;;;2188:3;2132:144;;;;;;2193:9;-1:-1:-1;;;;;2132:144:53;;;;;2204:15;2132:144;;;;2221:16;2132:144;;;;2239:8;2132:144;;;;2249:17;-1:-1:-1;;;;;2132:144:53;;;;2075:201;;2312:322;;;;;;;;2359:7;-1:-1:-1;;;;;2312:322:53;;;;;2390:8;-1:-1:-1;;;;;2312:322:53;;;;;2417:3;2312:322;;;;;;2445:9;-1:-1:-1;;;;;2312:322:53;;;;;2478:15;2312:322;;;;2518:16;2312:322;;;;2565:8;2312:322;;;;2606:17;-1:-1:-1;;;;;2312:322:53;;;;2286:348;;2645:42;2690:132;;;;;;;;2738:7;2747:8;2721:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2690:132;;;;2758:9;-1:-1:-1;;;;;2690:132:53;;;;;2769:15;2690:132;;;;2786:16;2690:132;;;;2804:8;2690:132;;;2645:177;;2852:237;;;;;;;;2907:7;2916:8;2890:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2852:237;;;;2950:9;-1:-1:-1;;;;;2852:237:53;;;;;2983:15;2852:237;;;;3023:16;2852:237;;;;3070:8;2852:237;;;2832:257;;1050:2055;;;;819:2286;;;;;;;:::o;3111:2248::-;3379:52;3434:136;;;;;;;;3470:7;-1:-1:-1;;;;;3434:136:53;;;;;3479:8;-1:-1:-1;;;;;3434:136:53;;;;;3489:3;3434:136;;;;;;3494:9;-1:-1:-1;;;;;3434:136:53;;;;;3505:8;3434:136;;;;3515:8;3434:136;;;;3525:16;3434:136;;;;3543:17;-1:-1:-1;;;;;3434:136:53;;;;3379:191;;3605:314;;;;;;;;3651:7;-1:-1:-1;;;;;3605:314:53;;;;;3682:8;-1:-1:-1;;;;;3605:314:53;;;;;3709:3;3605:314;;;;;;3737:9;-1:-1:-1;;;;;3605:314:53;;;;;3770:8;3605:314;;;;3802:8;3605:314;;;;3842:16;3605:314;;;;3891:17;-1:-1:-1;;;;;3605:314:53;;;;3580:339;;3930:40;3973:124;;;;;;;;4020:7;4029:8;4003:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3973:124;;;;4040:9;-1:-1:-1;;;;;3973:124:53;;;;;4051:8;3973:124;;;;4061:8;3973:124;;;;4071:16;3973:124;;;3930:167;;4126:229;;;;;;;;4180:7;4189:8;4163:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4126:229;;;;4223:9;-1:-1:-1;;;;;4126:229:53;;;;;4256:8;4126:229;;;;4288:8;4126:229;;;;4328:16;4126:229;;;4107:248;;4366:54;4423:137;;;;;;;;4460:7;-1:-1:-1;;;;;4423:137:53;;;;;4469:8;-1:-1:-1;;;;;4423:137:53;;;;;4479:3;4423:137;;;;;;4484:9;-1:-1:-1;;;;;4423:137:53;;;;;4495:8;4423:137;;;;4505:16;4423:137;;;;4523:8;4423:137;;;;4533:17;-1:-1:-1;;;;;4423:137:53;;;;4366:194;;4596:315;;;;;;;;4643:7;-1:-1:-1;;;;;4596:315:53;;;;;4674:8;-1:-1:-1;;;;;4596:315:53;;;;;4701:3;4596:315;;;;;;4729:9;-1:-1:-1;;;;;4596:315:53;;;;;4762:8;4596:315;;;;4795:16;4596:315;;;;4842:8;4596:315;;;;4883:17;-1:-1:-1;;;;;4596:315:53;;;;4570:341;;4922:42;4967:125;;;;;;;;5015:7;5024:8;4998:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4967:125;;;;5035:9;-1:-1:-1;;;;;4967:125:53;;;;;5046:8;4967:125;;;;5056:16;4967:125;;;;5074:8;4967:125;;;4922:170;;5122:230;;;;;;;;5177:7;5186:8;5160:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5122:230;;;;5220:9;-1:-1:-1;;;;;5122:230:53;;;;;5253:8;5122:230;;;;5286:16;5122:230;;;;5333:8;5122:230;;;5102:250;;3369:1990;;;;3111:2248;;;;;;;;:::o;14:131:55:-;-1:-1:-1;;;;;89:31:55;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:161::-;217:20;;277:8;266:20;;256:31;;246:59;;301:1;298;291:12;246:59;150:161;;;:::o;316:882::-;428:6;436;444;452;460;468;476;529:3;517:9;508:7;504:23;500:33;497:53;;;546:1;543;536:12;497:53;585:9;572:23;604:31;629:5;604:31;:::i;:::-;654:5;-1:-1:-1;711:2:55;696:18;;683:32;724:33;683:32;724:33;:::i;:::-;776:7;-1:-1:-1;802:37:55;835:2;820:18;;802:37;:::i;:::-;792:47;;891:2;880:9;876:18;863:32;904:33;929:7;904:33;:::i;:::-;956:7;-1:-1:-1;1010:3:55;995:19;;982:33;;-1:-1:-1;1062:3:55;1047:19;;1034:33;;-1:-1:-1;1119:3:55;1104:19;;1091:33;1133;1091;1133;:::i;:::-;1185:7;1175:17;;;316:882;;;;;;;;;;:::o;1203:951::-;1324:6;1332;1340;1348;1356;1364;1372;1380;1433:3;1421:9;1412:7;1408:23;1404:33;1401:53;;;1450:1;1447;1440:12;1401:53;1489:9;1476:23;1508:31;1533:5;1508:31;:::i;:::-;1558:5;-1:-1:-1;1615:2:55;1600:18;;1587:32;1628:33;1587:32;1628:33;:::i;:::-;1680:7;-1:-1:-1;1706:37:55;1739:2;1724:18;;1706:37;:::i;:::-;1696:47;;1795:2;1784:9;1780:18;1767:32;1808:33;1833:7;1808:33;:::i;:::-;1860:7;-1:-1:-1;1914:3:55;1899:19;;1886:33;;-1:-1:-1;1966:3:55;1951:19;;1938:33;;-1:-1:-1;2023:3:55;2008:19;;1995:33;2037;1995;2037;:::i;:::-;2089:7;2079:17;;;2143:3;2132:9;2128:19;2115:33;2105:43;;1203:951;;;;;;;;;;;:::o;2159:333::-;-1:-1:-1;;2386:2:55;2382:15;;;2378:24;;2366:37;;2437:15;;;;2433:24;2428:2;2419:12;;2412:46;2483:2;2474:12;;2159:333::o", "linkReferences": {} }, "methodIdentifiers": { @@ -251,31 +251,31 @@ }, "ast": { "absolutePath": "src/uniswap/UniswapV3Swapper.sol", - "id": 329, + "id": 48805, "exportedSymbols": { "ExactInputParams": [ - 29 + 48505 ], "ExactInputSingleParams": [ - 18 + 48494 ], "ExactOutputParams": [ - 57 + 48533 ], "ExactOutputSingleParams": [ - 46 + 48522 ], "UniswapV3Swapper": [ - 328 + 48804 ] }, "nodeType": "SourceUnit", - "src": "32:5330:0", + "src": "32:5330:53", "nodes": [ { - "id": 1, + "id": 48477, "nodeType": "PragmaDirective", - "src": "32:23:0", + "src": "32:23:53", "nodes": [], "literals": [ "solidity", @@ -284,21 +284,21 @@ ] }, { - "id": 18, + "id": 48494, "nodeType": "StructDefinition", - "src": "57:220:0", + "src": "57:220:53", "nodes": [], "canonicalName": "ExactInputSingleParams", "members": [ { "constant": false, - "id": 3, + "id": 48479, "mutability": "mutable", "name": "tokenIn", - "nameLocation": "101:7:0", + "nameLocation": "101:7:53", "nodeType": "VariableDeclaration", - "scope": 18, - "src": "93:15:0", + "scope": 48494, + "src": "93:15:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -306,10 +306,10 @@ "typeString": "address" }, "typeName": { - "id": 2, + "id": 48478, "name": "address", "nodeType": "ElementaryTypeName", - "src": "93:7:0", + "src": "93:7:53", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -320,13 +320,13 @@ }, { "constant": false, - "id": 5, + "id": 48481, "mutability": "mutable", "name": "tokenOut", - "nameLocation": "122:8:0", + "nameLocation": "122:8:53", "nodeType": "VariableDeclaration", - "scope": 18, - "src": "114:16:0", + "scope": 48494, + "src": "114:16:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -334,10 +334,10 @@ "typeString": "address" }, "typeName": { - "id": 4, + "id": 48480, "name": "address", "nodeType": "ElementaryTypeName", - "src": "114:7:0", + "src": "114:7:53", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -348,13 +348,13 @@ }, { "constant": false, - "id": 7, + "id": 48483, "mutability": "mutable", "name": "fee", - "nameLocation": "143:3:0", + "nameLocation": "143:3:53", "nodeType": "VariableDeclaration", - "scope": 18, - "src": "136:10:0", + "scope": 48494, + "src": "136:10:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -362,10 +362,10 @@ "typeString": "uint24" }, "typeName": { - "id": 6, + "id": 48482, "name": "uint24", "nodeType": "ElementaryTypeName", - "src": "136:6:0", + "src": "136:6:53", "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" @@ -375,13 +375,13 @@ }, { "constant": false, - "id": 9, + "id": 48485, "mutability": "mutable", "name": "recipient", - "nameLocation": "160:9:0", + "nameLocation": "160:9:53", "nodeType": "VariableDeclaration", - "scope": 18, - "src": "152:17:0", + "scope": 48494, + "src": "152:17:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -389,10 +389,10 @@ "typeString": "address" }, "typeName": { - "id": 8, + "id": 48484, "name": "address", "nodeType": "ElementaryTypeName", - "src": "152:7:0", + "src": "152:7:53", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -403,13 +403,13 @@ }, { "constant": false, - "id": 11, + "id": 48487, "mutability": "mutable", "name": "deadline", - "nameLocation": "183:8:0", + "nameLocation": "183:8:53", "nodeType": "VariableDeclaration", - "scope": 18, - "src": "175:16:0", + "scope": 48494, + "src": "175:16:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -417,10 +417,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10, + "id": 48486, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "175:7:0", + "src": "175:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -430,13 +430,13 @@ }, { "constant": false, - "id": 13, + "id": 48489, "mutability": "mutable", "name": "amountIn", - "nameLocation": "205:8:0", + "nameLocation": "205:8:53", "nodeType": "VariableDeclaration", - "scope": 18, - "src": "197:16:0", + "scope": 48494, + "src": "197:16:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -444,10 +444,10 @@ "typeString": "uint256" }, "typeName": { - "id": 12, + "id": 48488, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "197:7:0", + "src": "197:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -457,13 +457,13 @@ }, { "constant": false, - "id": 15, + "id": 48491, "mutability": "mutable", "name": "amountOutMinimum", - "nameLocation": "227:16:0", + "nameLocation": "227:16:53", "nodeType": "VariableDeclaration", - "scope": 18, - "src": "219:24:0", + "scope": 48494, + "src": "219:24:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -471,10 +471,10 @@ "typeString": "uint256" }, "typeName": { - "id": 14, + "id": 48490, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "219:7:0", + "src": "219:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -484,13 +484,13 @@ }, { "constant": false, - "id": 17, + "id": 48493, "mutability": "mutable", "name": "sqrtPriceLimitX96", - "nameLocation": "257:17:0", + "nameLocation": "257:17:53", "nodeType": "VariableDeclaration", - "scope": 18, - "src": "249:25:0", + "scope": 48494, + "src": "249:25:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -498,10 +498,10 @@ "typeString": "uint160" }, "typeName": { - "id": 16, + "id": 48492, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "249:7:0", + "src": "249:7:53", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -511,26 +511,26 @@ } ], "name": "ExactInputSingleParams", - "nameLocation": "64:22:0", - "scope": 329, + "nameLocation": "64:22:53", + "scope": 48805, "visibility": "public" }, { - "id": 29, + "id": 48505, "nodeType": "StructDefinition", - "src": "279:140:0", + "src": "279:140:53", "nodes": [], "canonicalName": "ExactInputParams", "members": [ { "constant": false, - "id": 20, + "id": 48496, "mutability": "mutable", "name": "path", - "nameLocation": "315:4:0", + "nameLocation": "315:4:53", "nodeType": "VariableDeclaration", - "scope": 29, - "src": "309:10:0", + "scope": 48505, + "src": "309:10:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -538,10 +538,10 @@ "typeString": "bytes" }, "typeName": { - "id": 19, + "id": 48495, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "309:5:0", + "src": "309:5:53", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -551,13 +551,13 @@ }, { "constant": false, - "id": 22, + "id": 48498, "mutability": "mutable", "name": "recipient", - "nameLocation": "333:9:0", + "nameLocation": "333:9:53", "nodeType": "VariableDeclaration", - "scope": 29, - "src": "325:17:0", + "scope": 48505, + "src": "325:17:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -565,10 +565,10 @@ "typeString": "address" }, "typeName": { - "id": 21, + "id": 48497, "name": "address", "nodeType": "ElementaryTypeName", - "src": "325:7:0", + "src": "325:7:53", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -579,13 +579,13 @@ }, { "constant": false, - "id": 24, + "id": 48500, "mutability": "mutable", "name": "deadline", - "nameLocation": "356:8:0", + "nameLocation": "356:8:53", "nodeType": "VariableDeclaration", - "scope": 29, - "src": "348:16:0", + "scope": 48505, + "src": "348:16:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -593,10 +593,10 @@ "typeString": "uint256" }, "typeName": { - "id": 23, + "id": 48499, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "348:7:0", + "src": "348:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -606,13 +606,13 @@ }, { "constant": false, - "id": 26, + "id": 48502, "mutability": "mutable", "name": "amountIn", - "nameLocation": "378:8:0", + "nameLocation": "378:8:53", "nodeType": "VariableDeclaration", - "scope": 29, - "src": "370:16:0", + "scope": 48505, + "src": "370:16:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -620,10 +620,10 @@ "typeString": "uint256" }, "typeName": { - "id": 25, + "id": 48501, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "370:7:0", + "src": "370:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -633,13 +633,13 @@ }, { "constant": false, - "id": 28, + "id": 48504, "mutability": "mutable", "name": "amountOutMinimum", - "nameLocation": "400:16:0", + "nameLocation": "400:16:53", "nodeType": "VariableDeclaration", - "scope": 29, - "src": "392:24:0", + "scope": 48505, + "src": "392:24:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -647,10 +647,10 @@ "typeString": "uint256" }, "typeName": { - "id": 27, + "id": 48503, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "392:7:0", + "src": "392:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -660,26 +660,26 @@ } ], "name": "ExactInputParams", - "nameLocation": "286:16:0", - "scope": 329, + "nameLocation": "286:16:53", + "scope": 48805, "visibility": "public" }, { - "id": 46, + "id": 48522, "nodeType": "StructDefinition", - "src": "421:221:0", + "src": "421:221:53", "nodes": [], "canonicalName": "ExactOutputSingleParams", "members": [ { "constant": false, - "id": 31, + "id": 48507, "mutability": "mutable", "name": "tokenIn", - "nameLocation": "466:7:0", + "nameLocation": "466:7:53", "nodeType": "VariableDeclaration", - "scope": 46, - "src": "458:15:0", + "scope": 48522, + "src": "458:15:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -687,10 +687,10 @@ "typeString": "address" }, "typeName": { - "id": 30, + "id": 48506, "name": "address", "nodeType": "ElementaryTypeName", - "src": "458:7:0", + "src": "458:7:53", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -701,13 +701,13 @@ }, { "constant": false, - "id": 33, + "id": 48509, "mutability": "mutable", "name": "tokenOut", - "nameLocation": "487:8:0", + "nameLocation": "487:8:53", "nodeType": "VariableDeclaration", - "scope": 46, - "src": "479:16:0", + "scope": 48522, + "src": "479:16:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -715,10 +715,10 @@ "typeString": "address" }, "typeName": { - "id": 32, + "id": 48508, "name": "address", "nodeType": "ElementaryTypeName", - "src": "479:7:0", + "src": "479:7:53", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -729,13 +729,13 @@ }, { "constant": false, - "id": 35, + "id": 48511, "mutability": "mutable", "name": "fee", - "nameLocation": "508:3:0", + "nameLocation": "508:3:53", "nodeType": "VariableDeclaration", - "scope": 46, - "src": "501:10:0", + "scope": 48522, + "src": "501:10:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -743,10 +743,10 @@ "typeString": "uint24" }, "typeName": { - "id": 34, + "id": 48510, "name": "uint24", "nodeType": "ElementaryTypeName", - "src": "501:6:0", + "src": "501:6:53", "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" @@ -756,13 +756,13 @@ }, { "constant": false, - "id": 37, + "id": 48513, "mutability": "mutable", "name": "recipient", - "nameLocation": "525:9:0", + "nameLocation": "525:9:53", "nodeType": "VariableDeclaration", - "scope": 46, - "src": "517:17:0", + "scope": 48522, + "src": "517:17:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -770,10 +770,10 @@ "typeString": "address" }, "typeName": { - "id": 36, + "id": 48512, "name": "address", "nodeType": "ElementaryTypeName", - "src": "517:7:0", + "src": "517:7:53", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -784,13 +784,13 @@ }, { "constant": false, - "id": 39, + "id": 48515, "mutability": "mutable", "name": "deadline", - "nameLocation": "548:8:0", + "nameLocation": "548:8:53", "nodeType": "VariableDeclaration", - "scope": 46, - "src": "540:16:0", + "scope": 48522, + "src": "540:16:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -798,10 +798,10 @@ "typeString": "uint256" }, "typeName": { - "id": 38, + "id": 48514, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "540:7:0", + "src": "540:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -811,13 +811,13 @@ }, { "constant": false, - "id": 41, + "id": 48517, "mutability": "mutable", "name": "amountOut", - "nameLocation": "570:9:0", + "nameLocation": "570:9:53", "nodeType": "VariableDeclaration", - "scope": 46, - "src": "562:17:0", + "scope": 48522, + "src": "562:17:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -825,10 +825,10 @@ "typeString": "uint256" }, "typeName": { - "id": 40, + "id": 48516, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "562:7:0", + "src": "562:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -838,13 +838,13 @@ }, { "constant": false, - "id": 43, + "id": 48519, "mutability": "mutable", "name": "amountInMaximum", - "nameLocation": "593:15:0", + "nameLocation": "593:15:53", "nodeType": "VariableDeclaration", - "scope": 46, - "src": "585:23:0", + "scope": 48522, + "src": "585:23:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -852,10 +852,10 @@ "typeString": "uint256" }, "typeName": { - "id": 42, + "id": 48518, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "585:7:0", + "src": "585:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -865,13 +865,13 @@ }, { "constant": false, - "id": 45, + "id": 48521, "mutability": "mutable", "name": "sqrtPriceLimitX96", - "nameLocation": "622:17:0", + "nameLocation": "622:17:53", "nodeType": "VariableDeclaration", - "scope": 46, - "src": "614:25:0", + "scope": 48522, + "src": "614:25:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -879,10 +879,10 @@ "typeString": "uint160" }, "typeName": { - "id": 44, + "id": 48520, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "614:7:0", + "src": "614:7:53", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -892,26 +892,26 @@ } ], "name": "ExactOutputSingleParams", - "nameLocation": "428:23:0", - "scope": 329, + "nameLocation": "428:23:53", + "scope": 48805, "visibility": "public" }, { - "id": 57, + "id": 48533, "nodeType": "StructDefinition", - "src": "644:141:0", + "src": "644:141:53", "nodes": [], "canonicalName": "ExactOutputParams", "members": [ { "constant": false, - "id": 48, + "id": 48524, "mutability": "mutable", "name": "path", - "nameLocation": "681:4:0", + "nameLocation": "681:4:53", "nodeType": "VariableDeclaration", - "scope": 57, - "src": "675:10:0", + "scope": 48533, + "src": "675:10:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -919,10 +919,10 @@ "typeString": "bytes" }, "typeName": { - "id": 47, + "id": 48523, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "675:5:0", + "src": "675:5:53", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -932,13 +932,13 @@ }, { "constant": false, - "id": 50, + "id": 48526, "mutability": "mutable", "name": "recipient", - "nameLocation": "699:9:0", + "nameLocation": "699:9:53", "nodeType": "VariableDeclaration", - "scope": 57, - "src": "691:17:0", + "scope": 48533, + "src": "691:17:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -946,10 +946,10 @@ "typeString": "address" }, "typeName": { - "id": 49, + "id": 48525, "name": "address", "nodeType": "ElementaryTypeName", - "src": "691:7:0", + "src": "691:7:53", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -960,13 +960,13 @@ }, { "constant": false, - "id": 52, + "id": 48528, "mutability": "mutable", "name": "deadline", - "nameLocation": "722:8:0", + "nameLocation": "722:8:53", "nodeType": "VariableDeclaration", - "scope": 57, - "src": "714:16:0", + "scope": 48533, + "src": "714:16:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -974,10 +974,10 @@ "typeString": "uint256" }, "typeName": { - "id": 51, + "id": 48527, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "714:7:0", + "src": "714:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -987,13 +987,13 @@ }, { "constant": false, - "id": 54, + "id": 48530, "mutability": "mutable", "name": "amountOut", - "nameLocation": "744:9:0", + "nameLocation": "744:9:53", "nodeType": "VariableDeclaration", - "scope": 57, - "src": "736:17:0", + "scope": 48533, + "src": "736:17:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1001,10 +1001,10 @@ "typeString": "uint256" }, "typeName": { - "id": 53, + "id": 48529, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "736:7:0", + "src": "736:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1014,13 +1014,13 @@ }, { "constant": false, - "id": 56, + "id": 48532, "mutability": "mutable", "name": "amountInMaximum", - "nameLocation": "767:15:0", + "nameLocation": "767:15:53", "nodeType": "VariableDeclaration", - "scope": 57, - "src": "759:23:0", + "scope": 48533, + "src": "759:23:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1028,10 +1028,10 @@ "typeString": "uint256" }, "typeName": { - "id": 55, + "id": 48531, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "759:7:0", + "src": "759:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1041,115 +1041,115 @@ } ], "name": "ExactOutputParams", - "nameLocation": "651:17:0", - "scope": 329, + "nameLocation": "651:17:53", + "scope": 48805, "visibility": "public" }, { - "id": 328, + "id": 48804, "nodeType": "ContractDefinition", - "src": "787:4574:0", + "src": "787:4574:53", "nodes": [ { - "id": 195, + "id": 48671, "nodeType": "FunctionDefinition", - "src": "819:2286:0", + "src": "819:2286:53", "nodes": [], "body": { - "id": 194, + "id": 48670, "nodeType": "Block", - "src": "1050:2055:0", + "src": "1050:2055:53", "nodes": [], "statements": [ { "assignments": [ - 76 + 48552 ], "declarations": [ { "constant": false, - "id": 76, + "id": 48552, "mutability": "mutable", "name": "exactInputSingleParams", - "nameLocation": "1090:22:0", + "nameLocation": "1090:22:53", "nodeType": "VariableDeclaration", - "scope": 194, - "src": "1060:52:0", + "scope": 48670, + "src": "1060:52:53", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputSingleParams_$18_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputSingleParams_$48494_memory_ptr", "typeString": "struct ExactInputSingleParams" }, "typeName": { - "id": 75, + "id": 48551, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 74, + "id": 48550, "name": "ExactInputSingleParams", "nameLocations": [ - "1060:22:0" + "1060:22:53" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 18, - "src": "1060:22:0" + "referencedDeclaration": 48494, + "src": "1060:22:53" }, - "referencedDeclaration": 18, - "src": "1060:22:0", + "referencedDeclaration": 48494, + "src": "1060:22:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputSingleParams_$18_storage_ptr", + "typeIdentifier": "t_struct$_ExactInputSingleParams_$48494_storage_ptr", "typeString": "struct ExactInputSingleParams" } }, "visibility": "internal" } ], - "id": 88, + "id": 48564, "initialValue": { "arguments": [ { - "id": 78, + "id": 48554, "name": "tokenIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1151:7:0", + "referencedDeclaration": 48535, + "src": "1151:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 79, + "id": 48555, "name": "tokenOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1160:8:0", + "referencedDeclaration": 48537, + "src": "1160:8:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 80, + "id": 48556, "name": "fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "1170:3:0", + "referencedDeclaration": 48539, + "src": "1170:3:53", "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" } }, { - "id": 81, + "id": 48557, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "1175:9:0", + "referencedDeclaration": 48541, + "src": "1175:9:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1157,62 +1157,62 @@ }, { "expression": { - "id": 82, + "id": 48558, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "1186:5:0", + "src": "1186:5:53", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 83, + "id": 48559, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1192:9:0", + "memberLocation": "1192:9:53", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "1186:15:0", + "src": "1186:15:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 84, + "id": 48560, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 67, - "src": "1203:8:0", + "referencedDeclaration": 48543, + "src": "1203:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 85, + "id": 48561, "name": "amountOutMinimum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 69, - "src": "1213:16:0", + "referencedDeclaration": 48545, + "src": "1213:16:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 86, + "id": 48562, "name": "sqrtPriceLimitX96", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "1231:17:0", + "referencedDeclaration": 48547, + "src": "1231:17:53", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -1254,18 +1254,18 @@ "typeString": "uint160" } ], - "id": 77, + "id": 48553, "name": "ExactInputSingleParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "1115:22:0", + "referencedDeclaration": 48494, + "src": "1115:22:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExactInputSingleParams_$18_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_ExactInputSingleParams_$48494_storage_ptr_$", "typeString": "type(struct ExactInputSingleParams storage pointer)" } }, - "id": 87, + "id": 48563, "isConstant": false, "isLValue": false, "isPure": false, @@ -1274,32 +1274,32 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1115:143:0", + "src": "1115:143:53", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputSingleParams_$18_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputSingleParams_$48494_memory_ptr", "typeString": "struct ExactInputSingleParams memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "1060:198:0" + "src": "1060:198:53" }, { "expression": { - "id": 101, + "id": 48577, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 89, + "id": 48565, "name": "exactInputSingleParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76, - "src": "1268:22:0", + "referencedDeclaration": 48552, + "src": "1268:22:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputSingleParams_$18_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputSingleParams_$48494_memory_ptr", "typeString": "struct ExactInputSingleParams memory" } }, @@ -1308,48 +1308,48 @@ "rightHandSide": { "arguments": [ { - "id": 91, + "id": 48567, "name": "tokenIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1339:7:0", + "referencedDeclaration": 48535, + "src": "1339:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 92, + "id": 48568, "name": "tokenOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1370:8:0", + "referencedDeclaration": 48537, + "src": "1370:8:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 93, + "id": 48569, "name": "fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "1397:3:0", + "referencedDeclaration": 48539, + "src": "1397:3:53", "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" } }, { - "id": 94, + "id": 48570, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "1425:9:0", + "referencedDeclaration": 48541, + "src": "1425:9:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1357,62 +1357,62 @@ }, { "expression": { - "id": 95, + "id": 48571, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "1458:5:0", + "src": "1458:5:53", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 96, + "id": 48572, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1464:9:0", + "memberLocation": "1464:9:53", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "1458:15:0", + "src": "1458:15:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 97, + "id": 48573, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 67, - "src": "1497:8:0", + "referencedDeclaration": 48543, + "src": "1497:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 98, + "id": 48574, "name": "amountOutMinimum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 69, - "src": "1537:16:0", + "referencedDeclaration": 48545, + "src": "1537:16:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 99, + "id": 48575, "name": "sqrtPriceLimitX96", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "1586:17:0", + "referencedDeclaration": 48547, + "src": "1586:17:53", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -1454,32 +1454,32 @@ "typeString": "uint160" } ], - "id": 90, + "id": 48566, "name": "ExactInputSingleParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "1293:22:0", + "referencedDeclaration": 48494, + "src": "1293:22:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExactInputSingleParams_$18_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_ExactInputSingleParams_$48494_storage_ptr_$", "typeString": "type(struct ExactInputSingleParams storage pointer)" } }, - "id": 100, + "id": 48576, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "nameLocations": [ - "1330:7:0", - "1360:8:0", - "1392:3:0", - "1414:9:0", - "1448:8:0", - "1487:8:0", - "1519:16:0", - "1567:17:0" + "1330:7:53", + "1360:8:53", + "1392:3:53", + "1414:9:53", + "1448:8:53", + "1487:8:53", + "1519:16:53", + "1567:17:53" ], "names": [ "tokenIn", @@ -1492,90 +1492,90 @@ "sqrtPriceLimitX96" ], "nodeType": "FunctionCall", - "src": "1293:321:0", + "src": "1293:321:53", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputSingleParams_$18_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputSingleParams_$48494_memory_ptr", "typeString": "struct ExactInputSingleParams memory" } }, - "src": "1268:346:0", + "src": "1268:346:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputSingleParams_$18_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputSingleParams_$48494_memory_ptr", "typeString": "struct ExactInputSingleParams memory" } }, - "id": 102, + "id": 48578, "nodeType": "ExpressionStatement", - "src": "1268:346:0" + "src": "1268:346:53" }, { "assignments": [ - 105 + 48581 ], "declarations": [ { "constant": false, - "id": 105, + "id": 48581, "mutability": "mutable", "name": "exactInputParams", - "nameLocation": "1649:16:0", + "nameLocation": "1649:16:53", "nodeType": "VariableDeclaration", - "scope": 194, - "src": "1625:40:0", + "scope": 48670, + "src": "1625:40:53", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputParams_$29_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputParams_$48505_memory_ptr", "typeString": "struct ExactInputParams" }, "typeName": { - "id": 104, + "id": 48580, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 103, + "id": 48579, "name": "ExactInputParams", "nameLocations": [ - "1625:16:0" + "1625:16:53" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 29, - "src": "1625:16:0" + "referencedDeclaration": 48505, + "src": "1625:16:53" }, - "referencedDeclaration": 29, - "src": "1625:16:0", + "referencedDeclaration": 48505, + "src": "1625:16:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputParams_$29_storage_ptr", + "typeIdentifier": "t_struct$_ExactInputParams_$48505_storage_ptr", "typeString": "struct ExactInputParams" } }, "visibility": "internal" } ], - "id": 118, + "id": 48594, "initialValue": { "arguments": [ { "arguments": [ { - "id": 109, + "id": 48585, "name": "tokenIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1715:7:0", + "referencedDeclaration": 48535, + "src": "1715:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 110, + "id": 48586, "name": "tokenOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1724:8:0", + "referencedDeclaration": 48537, + "src": "1724:8:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1594,32 +1594,32 @@ } ], "expression": { - "id": 107, + "id": 48583, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "1698:3:0", + "src": "1698:3:53", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 108, + "id": 48584, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "1702:12:0", + "memberLocation": "1702:12:53", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "1698:16:0", + "src": "1698:16:53", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 111, + "id": 48587, "isConstant": false, "isLValue": false, "isPure": false, @@ -1628,7 +1628,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1698:35:0", + "src": "1698:35:53", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -1636,12 +1636,12 @@ } }, { - "id": 112, + "id": 48588, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "1735:9:0", + "referencedDeclaration": 48541, + "src": "1735:9:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1649,50 +1649,50 @@ }, { "expression": { - "id": 113, + "id": 48589, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "1746:5:0", + "src": "1746:5:53", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 114, + "id": 48590, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1752:9:0", + "memberLocation": "1752:9:53", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "1746:15:0", + "src": "1746:15:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 115, + "id": 48591, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 67, - "src": "1763:8:0", + "referencedDeclaration": 48543, + "src": "1763:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 116, + "id": 48592, "name": "amountOutMinimum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 69, - "src": "1773:16:0", + "referencedDeclaration": 48545, + "src": "1773:16:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1722,18 +1722,18 @@ "typeString": "uint256" } ], - "id": 106, + "id": 48582, "name": "ExactInputParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "1668:16:0", + "referencedDeclaration": 48505, + "src": "1668:16:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExactInputParams_$29_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_ExactInputParams_$48505_storage_ptr_$", "typeString": "type(struct ExactInputParams storage pointer)" } }, - "id": 117, + "id": 48593, "isConstant": false, "isLValue": false, "isPure": false, @@ -1742,32 +1742,32 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1668:131:0", + "src": "1668:131:53", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputParams_$29_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputParams_$48505_memory_ptr", "typeString": "struct ExactInputParams memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "1625:174:0" + "src": "1625:174:53" }, { "expression": { - "id": 132, + "id": 48608, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119, + "id": 48595, "name": "exactInputParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 105, - "src": "1809:16:0", + "referencedDeclaration": 48581, + "src": "1809:16:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputParams_$29_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputParams_$48505_memory_ptr", "typeString": "struct ExactInputParams memory" } }, @@ -1778,24 +1778,24 @@ { "arguments": [ { - "id": 123, + "id": 48599, "name": "tokenIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1882:7:0", + "referencedDeclaration": 48535, + "src": "1882:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 124, + "id": 48600, "name": "tokenOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1891:8:0", + "referencedDeclaration": 48537, + "src": "1891:8:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1814,32 +1814,32 @@ } ], "expression": { - "id": 121, + "id": 48597, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "1865:3:0", + "src": "1865:3:53", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 122, + "id": 48598, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "1869:12:0", + "memberLocation": "1869:12:53", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "1865:16:0", + "src": "1865:16:53", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 125, + "id": 48601, "isConstant": false, "isLValue": false, "isPure": false, @@ -1848,7 +1848,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1865:35:0", + "src": "1865:35:53", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -1856,12 +1856,12 @@ } }, { - "id": 126, + "id": 48602, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "1925:9:0", + "referencedDeclaration": 48541, + "src": "1925:9:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1869,50 +1869,50 @@ }, { "expression": { - "id": 127, + "id": 48603, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "1958:5:0", + "src": "1958:5:53", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 128, + "id": 48604, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1964:9:0", + "memberLocation": "1964:9:53", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "1958:15:0", + "src": "1958:15:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 129, + "id": 48605, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 67, - "src": "1997:8:0", + "referencedDeclaration": 48543, + "src": "1997:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 130, + "id": 48606, "name": "amountOutMinimum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 69, - "src": "2037:16:0", + "referencedDeclaration": 48545, + "src": "2037:16:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1942,29 +1942,29 @@ "typeString": "uint256" } ], - "id": 120, + "id": 48596, "name": "ExactInputParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "1828:16:0", + "referencedDeclaration": 48505, + "src": "1828:16:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExactInputParams_$29_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_ExactInputParams_$48505_storage_ptr_$", "typeString": "type(struct ExactInputParams storage pointer)" } }, - "id": 131, + "id": 48607, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "nameLocations": [ - "1859:4:0", - "1914:9:0", - "1948:8:0", - "1987:8:0", - "2019:16:0" + "1859:4:53", + "1914:9:53", + "1948:8:53", + "1987:8:53", + "2019:16:53" ], "names": [ "path", @@ -1974,112 +1974,112 @@ "amountOutMinimum" ], "nodeType": "FunctionCall", - "src": "1828:236:0", + "src": "1828:236:53", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputParams_$29_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputParams_$48505_memory_ptr", "typeString": "struct ExactInputParams memory" } }, - "src": "1809:255:0", + "src": "1809:255:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputParams_$29_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputParams_$48505_memory_ptr", "typeString": "struct ExactInputParams memory" } }, - "id": 133, + "id": 48609, "nodeType": "ExpressionStatement", - "src": "1809:255:0" + "src": "1809:255:53" }, { "assignments": [ - 136 + 48612 ], "declarations": [ { "constant": false, - "id": 136, + "id": 48612, "mutability": "mutable", "name": "exactOutputSingleParams", - "nameLocation": "2106:23:0", + "nameLocation": "2106:23:53", "nodeType": "VariableDeclaration", - "scope": 194, - "src": "2075:54:0", + "scope": 48670, + "src": "2075:54:53", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputSingleParams_$46_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputSingleParams_$48522_memory_ptr", "typeString": "struct ExactOutputSingleParams" }, "typeName": { - "id": 135, + "id": 48611, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 134, + "id": 48610, "name": "ExactOutputSingleParams", "nameLocations": [ - "2075:23:0" + "2075:23:53" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 46, - "src": "2075:23:0" + "referencedDeclaration": 48522, + "src": "2075:23:53" }, - "referencedDeclaration": 46, - "src": "2075:23:0", + "referencedDeclaration": 48522, + "src": "2075:23:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputSingleParams_$46_storage_ptr", + "typeIdentifier": "t_struct$_ExactOutputSingleParams_$48522_storage_ptr", "typeString": "struct ExactOutputSingleParams" } }, "visibility": "internal" } ], - "id": 148, + "id": 48624, "initialValue": { "arguments": [ { - "id": 138, + "id": 48614, "name": "tokenIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "2169:7:0", + "referencedDeclaration": 48535, + "src": "2169:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 139, + "id": 48615, "name": "tokenOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "2178:8:0", + "referencedDeclaration": 48537, + "src": "2178:8:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 140, + "id": 48616, "name": "fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "2188:3:0", + "referencedDeclaration": 48539, + "src": "2188:3:53", "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" } }, { - "id": 141, + "id": 48617, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2193:9:0", + "referencedDeclaration": 48541, + "src": "2193:9:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2087,62 +2087,62 @@ }, { "expression": { - "id": 142, + "id": 48618, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "2204:5:0", + "src": "2204:5:53", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 143, + "id": 48619, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2210:9:0", + "memberLocation": "2210:9:53", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "2204:15:0", + "src": "2204:15:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 144, + "id": 48620, "name": "amountOutMinimum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 69, - "src": "2221:16:0", + "referencedDeclaration": 48545, + "src": "2221:16:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 145, + "id": 48621, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 67, - "src": "2239:8:0", + "referencedDeclaration": 48543, + "src": "2239:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 146, + "id": 48622, "name": "sqrtPriceLimitX96", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2249:17:0", + "referencedDeclaration": 48547, + "src": "2249:17:53", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -2184,18 +2184,18 @@ "typeString": "uint160" } ], - "id": 137, + "id": 48613, "name": "ExactOutputSingleParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46, - "src": "2132:23:0", + "referencedDeclaration": 48522, + "src": "2132:23:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExactOutputSingleParams_$46_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_ExactOutputSingleParams_$48522_storage_ptr_$", "typeString": "type(struct ExactOutputSingleParams storage pointer)" } }, - "id": 147, + "id": 48623, "isConstant": false, "isLValue": false, "isPure": false, @@ -2204,32 +2204,32 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2132:144:0", + "src": "2132:144:53", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputSingleParams_$46_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputSingleParams_$48522_memory_ptr", "typeString": "struct ExactOutputSingleParams memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "2075:201:0" + "src": "2075:201:53" }, { "expression": { - "id": 161, + "id": 48637, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 149, + "id": 48625, "name": "exactOutputSingleParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "2286:23:0", + "referencedDeclaration": 48612, + "src": "2286:23:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputSingleParams_$46_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputSingleParams_$48522_memory_ptr", "typeString": "struct ExactOutputSingleParams memory" } }, @@ -2238,48 +2238,48 @@ "rightHandSide": { "arguments": [ { - "id": 151, + "id": 48627, "name": "tokenIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "2359:7:0", + "referencedDeclaration": 48535, + "src": "2359:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 152, + "id": 48628, "name": "tokenOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "2390:8:0", + "referencedDeclaration": 48537, + "src": "2390:8:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 153, + "id": 48629, "name": "fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "2417:3:0", + "referencedDeclaration": 48539, + "src": "2417:3:53", "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" } }, { - "id": 154, + "id": 48630, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2445:9:0", + "referencedDeclaration": 48541, + "src": "2445:9:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2287,62 +2287,62 @@ }, { "expression": { - "id": 155, + "id": 48631, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "2478:5:0", + "src": "2478:5:53", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 156, + "id": 48632, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2484:9:0", + "memberLocation": "2484:9:53", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "2478:15:0", + "src": "2478:15:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 157, + "id": 48633, "name": "amountOutMinimum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 69, - "src": "2518:16:0", + "referencedDeclaration": 48545, + "src": "2518:16:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 158, + "id": 48634, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 67, - "src": "2565:8:0", + "referencedDeclaration": 48543, + "src": "2565:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 159, + "id": 48635, "name": "sqrtPriceLimitX96", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2606:17:0", + "referencedDeclaration": 48547, + "src": "2606:17:53", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -2384,32 +2384,32 @@ "typeString": "uint160" } ], - "id": 150, + "id": 48626, "name": "ExactOutputSingleParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46, - "src": "2312:23:0", + "referencedDeclaration": 48522, + "src": "2312:23:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExactOutputSingleParams_$46_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_ExactOutputSingleParams_$48522_storage_ptr_$", "typeString": "type(struct ExactOutputSingleParams storage pointer)" } }, - "id": 160, + "id": 48636, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "nameLocations": [ - "2350:7:0", - "2380:8:0", - "2412:3:0", - "2434:9:0", - "2468:8:0", - "2507:9:0", - "2548:15:0", - "2587:17:0" + "2350:7:53", + "2380:8:53", + "2412:3:53", + "2434:9:53", + "2468:8:53", + "2507:9:53", + "2548:15:53", + "2587:17:53" ], "names": [ "tokenIn", @@ -2422,90 +2422,90 @@ "sqrtPriceLimitX96" ], "nodeType": "FunctionCall", - "src": "2312:322:0", + "src": "2312:322:53", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputSingleParams_$46_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputSingleParams_$48522_memory_ptr", "typeString": "struct ExactOutputSingleParams memory" } }, - "src": "2286:348:0", + "src": "2286:348:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputSingleParams_$46_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputSingleParams_$48522_memory_ptr", "typeString": "struct ExactOutputSingleParams memory" } }, - "id": 162, + "id": 48638, "nodeType": "ExpressionStatement", - "src": "2286:348:0" + "src": "2286:348:53" }, { "assignments": [ - 165 + 48641 ], "declarations": [ { "constant": false, - "id": 165, + "id": 48641, "mutability": "mutable", "name": "exactOutputParams", - "nameLocation": "2670:17:0", + "nameLocation": "2670:17:53", "nodeType": "VariableDeclaration", - "scope": 194, - "src": "2645:42:0", + "scope": 48670, + "src": "2645:42:53", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputParams_$57_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputParams_$48533_memory_ptr", "typeString": "struct ExactOutputParams" }, "typeName": { - "id": 164, + "id": 48640, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 163, + "id": 48639, "name": "ExactOutputParams", "nameLocations": [ - "2645:17:0" + "2645:17:53" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 57, - "src": "2645:17:0" + "referencedDeclaration": 48533, + "src": "2645:17:53" }, - "referencedDeclaration": 57, - "src": "2645:17:0", + "referencedDeclaration": 48533, + "src": "2645:17:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputParams_$57_storage_ptr", + "typeIdentifier": "t_struct$_ExactOutputParams_$48533_storage_ptr", "typeString": "struct ExactOutputParams" } }, "visibility": "internal" } ], - "id": 178, + "id": 48654, "initialValue": { "arguments": [ { "arguments": [ { - "id": 169, + "id": 48645, "name": "tokenIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "2738:7:0", + "referencedDeclaration": 48535, + "src": "2738:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 170, + "id": 48646, "name": "tokenOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "2747:8:0", + "referencedDeclaration": 48537, + "src": "2747:8:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2524,32 +2524,32 @@ } ], "expression": { - "id": 167, + "id": 48643, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "2721:3:0", + "src": "2721:3:53", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 168, + "id": 48644, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "2725:12:0", + "memberLocation": "2725:12:53", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "2721:16:0", + "src": "2721:16:53", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 171, + "id": 48647, "isConstant": false, "isLValue": false, "isPure": false, @@ -2558,7 +2558,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2721:35:0", + "src": "2721:35:53", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -2566,12 +2566,12 @@ } }, { - "id": 172, + "id": 48648, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2758:9:0", + "referencedDeclaration": 48541, + "src": "2758:9:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2579,50 +2579,50 @@ }, { "expression": { - "id": 173, + "id": 48649, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "2769:5:0", + "src": "2769:5:53", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 174, + "id": 48650, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2775:9:0", + "memberLocation": "2775:9:53", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "2769:15:0", + "src": "2769:15:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 175, + "id": 48651, "name": "amountOutMinimum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 69, - "src": "2786:16:0", + "referencedDeclaration": 48545, + "src": "2786:16:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 176, + "id": 48652, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 67, - "src": "2804:8:0", + "referencedDeclaration": 48543, + "src": "2804:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2652,18 +2652,18 @@ "typeString": "uint256" } ], - "id": 166, + "id": 48642, "name": "ExactOutputParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "2690:17:0", + "referencedDeclaration": 48533, + "src": "2690:17:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExactOutputParams_$57_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_ExactOutputParams_$48533_storage_ptr_$", "typeString": "type(struct ExactOutputParams storage pointer)" } }, - "id": 177, + "id": 48653, "isConstant": false, "isLValue": false, "isPure": false, @@ -2672,32 +2672,32 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2690:132:0", + "src": "2690:132:53", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputParams_$57_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputParams_$48533_memory_ptr", "typeString": "struct ExactOutputParams memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "2645:177:0" + "src": "2645:177:53" }, { "expression": { - "id": 192, + "id": 48668, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 179, + "id": 48655, "name": "exactOutputParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 165, - "src": "2832:17:0", + "referencedDeclaration": 48641, + "src": "2832:17:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputParams_$57_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputParams_$48533_memory_ptr", "typeString": "struct ExactOutputParams memory" } }, @@ -2708,24 +2708,24 @@ { "arguments": [ { - "id": 183, + "id": 48659, "name": "tokenIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "2907:7:0", + "referencedDeclaration": 48535, + "src": "2907:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 184, + "id": 48660, "name": "tokenOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "2916:8:0", + "referencedDeclaration": 48537, + "src": "2916:8:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2744,32 +2744,32 @@ } ], "expression": { - "id": 181, + "id": 48657, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "2890:3:0", + "src": "2890:3:53", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 182, + "id": 48658, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "2894:12:0", + "memberLocation": "2894:12:53", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "2890:16:0", + "src": "2890:16:53", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 185, + "id": 48661, "isConstant": false, "isLValue": false, "isPure": false, @@ -2778,7 +2778,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2890:35:0", + "src": "2890:35:53", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -2786,12 +2786,12 @@ } }, { - "id": 186, + "id": 48662, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2950:9:0", + "referencedDeclaration": 48541, + "src": "2950:9:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2799,50 +2799,50 @@ }, { "expression": { - "id": 187, + "id": 48663, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "2983:5:0", + "src": "2983:5:53", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 188, + "id": 48664, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2989:9:0", + "memberLocation": "2989:9:53", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "2983:15:0", + "src": "2983:15:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 189, + "id": 48665, "name": "amountOutMinimum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 69, - "src": "3023:16:0", + "referencedDeclaration": 48545, + "src": "3023:16:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 190, + "id": 48666, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 67, - "src": "3070:8:0", + "referencedDeclaration": 48543, + "src": "3070:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2872,29 +2872,29 @@ "typeString": "uint256" } ], - "id": 180, + "id": 48656, "name": "ExactOutputParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "2852:17:0", + "referencedDeclaration": 48533, + "src": "2852:17:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExactOutputParams_$57_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_ExactOutputParams_$48533_storage_ptr_$", "typeString": "type(struct ExactOutputParams storage pointer)" } }, - "id": 191, + "id": 48667, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "nameLocations": [ - "2884:4:0", - "2939:9:0", - "2973:8:0", - "3012:9:0", - "3053:15:0" + "2884:4:53", + "2939:9:53", + "2973:8:53", + "3012:9:53", + "3053:15:53" ], "names": [ "path", @@ -2904,22 +2904,22 @@ "amountInMaximum" ], "nodeType": "FunctionCall", - "src": "2852:237:0", + "src": "2852:237:53", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputParams_$57_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputParams_$48533_memory_ptr", "typeString": "struct ExactOutputParams memory" } }, - "src": "2832:257:0", + "src": "2832:257:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputParams_$57_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputParams_$48533_memory_ptr", "typeString": "struct ExactOutputParams memory" } }, - "id": 193, + "id": 48669, "nodeType": "ExpressionStatement", - "src": "2832:257:0" + "src": "2832:257:53" } ] }, @@ -2928,20 +2928,20 @@ "kind": "function", "modifiers": [], "name": "badSwaps", - "nameLocation": "828:8:0", + "nameLocation": "828:8:53", "parameters": { - "id": 72, + "id": 48548, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 59, + "id": 48535, "mutability": "mutable", "name": "tokenIn", - "nameLocation": "854:7:0", + "nameLocation": "854:7:53", "nodeType": "VariableDeclaration", - "scope": 195, - "src": "846:15:0", + "scope": 48671, + "src": "846:15:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2949,10 +2949,10 @@ "typeString": "address" }, "typeName": { - "id": 58, + "id": 48534, "name": "address", "nodeType": "ElementaryTypeName", - "src": "846:7:0", + "src": "846:7:53", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2963,13 +2963,13 @@ }, { "constant": false, - "id": 61, + "id": 48537, "mutability": "mutable", "name": "tokenOut", - "nameLocation": "879:8:0", + "nameLocation": "879:8:53", "nodeType": "VariableDeclaration", - "scope": 195, - "src": "871:16:0", + "scope": 48671, + "src": "871:16:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2977,10 +2977,10 @@ "typeString": "address" }, "typeName": { - "id": 60, + "id": 48536, "name": "address", "nodeType": "ElementaryTypeName", - "src": "871:7:0", + "src": "871:7:53", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2991,13 +2991,13 @@ }, { "constant": false, - "id": 63, + "id": 48539, "mutability": "mutable", "name": "fee", - "nameLocation": "904:3:0", + "nameLocation": "904:3:53", "nodeType": "VariableDeclaration", - "scope": 195, - "src": "897:10:0", + "scope": 48671, + "src": "897:10:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3005,10 +3005,10 @@ "typeString": "uint24" }, "typeName": { - "id": 62, + "id": 48538, "name": "uint24", "nodeType": "ElementaryTypeName", - "src": "897:6:0", + "src": "897:6:53", "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" @@ -3018,13 +3018,13 @@ }, { "constant": false, - "id": 65, + "id": 48541, "mutability": "mutable", "name": "recipient", - "nameLocation": "925:9:0", + "nameLocation": "925:9:53", "nodeType": "VariableDeclaration", - "scope": 195, - "src": "917:17:0", + "scope": 48671, + "src": "917:17:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3032,10 +3032,10 @@ "typeString": "address" }, "typeName": { - "id": 64, + "id": 48540, "name": "address", "nodeType": "ElementaryTypeName", - "src": "917:7:0", + "src": "917:7:53", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3046,13 +3046,13 @@ }, { "constant": false, - "id": 67, + "id": 48543, "mutability": "mutable", "name": "amountIn", - "nameLocation": "952:8:0", + "nameLocation": "952:8:53", "nodeType": "VariableDeclaration", - "scope": 195, - "src": "944:16:0", + "scope": 48671, + "src": "944:16:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3060,10 +3060,10 @@ "typeString": "uint256" }, "typeName": { - "id": 66, + "id": 48542, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "944:7:0", + "src": "944:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3073,13 +3073,13 @@ }, { "constant": false, - "id": 69, + "id": 48545, "mutability": "mutable", "name": "amountOutMinimum", - "nameLocation": "978:16:0", + "nameLocation": "978:16:53", "nodeType": "VariableDeclaration", - "scope": 195, - "src": "970:24:0", + "scope": 48671, + "src": "970:24:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3087,10 +3087,10 @@ "typeString": "uint256" }, "typeName": { - "id": 68, + "id": 48544, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "970:7:0", + "src": "970:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3100,13 +3100,13 @@ }, { "constant": false, - "id": 71, + "id": 48547, "mutability": "mutable", "name": "sqrtPriceLimitX96", - "nameLocation": "1012:17:0", + "nameLocation": "1012:17:53", "nodeType": "VariableDeclaration", - "scope": 195, - "src": "1004:25:0", + "scope": 48671, + "src": "1004:25:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3114,10 +3114,10 @@ "typeString": "uint160" }, "typeName": { - "id": 70, + "id": 48546, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "1004:7:0", + "src": "1004:7:53", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -3126,167 +3126,167 @@ "visibility": "internal" } ], - "src": "836:199:0" + "src": "836:199:53" }, "returnParameters": { - "id": 73, + "id": 48549, "nodeType": "ParameterList", "parameters": [], - "src": "1050:0:0" + "src": "1050:0:53" }, - "scope": 328, + "scope": 48804, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 327, + "id": 48803, "nodeType": "FunctionDefinition", - "src": "3111:2248:0", + "src": "3111:2248:53", "nodes": [], "body": { - "id": 326, + "id": 48802, "nodeType": "Block", - "src": "3369:1990:0", + "src": "3369:1990:53", "nodes": [], "statements": [ { "assignments": [ - 216 + 48692 ], "declarations": [ { "constant": false, - "id": 216, + "id": 48692, "mutability": "mutable", "name": "exactInputSingleParams", - "nameLocation": "3409:22:0", + "nameLocation": "3409:22:53", "nodeType": "VariableDeclaration", - "scope": 326, - "src": "3379:52:0", + "scope": 48802, + "src": "3379:52:53", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputSingleParams_$18_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputSingleParams_$48494_memory_ptr", "typeString": "struct ExactInputSingleParams" }, "typeName": { - "id": 215, + "id": 48691, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 214, + "id": 48690, "name": "ExactInputSingleParams", "nameLocations": [ - "3379:22:0" + "3379:22:53" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 18, - "src": "3379:22:0" + "referencedDeclaration": 48494, + "src": "3379:22:53" }, - "referencedDeclaration": 18, - "src": "3379:22:0", + "referencedDeclaration": 48494, + "src": "3379:22:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputSingleParams_$18_storage_ptr", + "typeIdentifier": "t_struct$_ExactInputSingleParams_$48494_storage_ptr", "typeString": "struct ExactInputSingleParams" } }, "visibility": "internal" } ], - "id": 227, + "id": 48703, "initialValue": { "arguments": [ { - "id": 218, + "id": 48694, "name": "tokenIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 197, - "src": "3470:7:0", + "referencedDeclaration": 48673, + "src": "3470:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 219, + "id": 48695, "name": "tokenOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 199, - "src": "3479:8:0", + "referencedDeclaration": 48675, + "src": "3479:8:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 220, + "id": 48696, "name": "fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 201, - "src": "3489:3:0", + "referencedDeclaration": 48677, + "src": "3489:3:53", "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" } }, { - "id": 221, + "id": 48697, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 203, - "src": "3494:9:0", + "referencedDeclaration": 48679, + "src": "3494:9:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 222, + "id": 48698, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "3505:8:0", + "referencedDeclaration": 48687, + "src": "3505:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 223, + "id": 48699, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "3515:8:0", + "referencedDeclaration": 48681, + "src": "3515:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 224, + "id": 48700, "name": "amountOutMinimum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "3525:16:0", + "referencedDeclaration": 48683, + "src": "3525:16:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 225, + "id": 48701, "name": "sqrtPriceLimitX96", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 209, - "src": "3543:17:0", + "referencedDeclaration": 48685, + "src": "3543:17:53", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -3328,18 +3328,18 @@ "typeString": "uint160" } ], - "id": 217, + "id": 48693, "name": "ExactInputSingleParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "3434:22:0", + "referencedDeclaration": 48494, + "src": "3434:22:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExactInputSingleParams_$18_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_ExactInputSingleParams_$48494_storage_ptr_$", "typeString": "type(struct ExactInputSingleParams storage pointer)" } }, - "id": 226, + "id": 48702, "isConstant": false, "isLValue": false, "isPure": false, @@ -3348,32 +3348,32 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3434:136:0", + "src": "3434:136:53", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputSingleParams_$18_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputSingleParams_$48494_memory_ptr", "typeString": "struct ExactInputSingleParams memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "3379:191:0" + "src": "3379:191:53" }, { "expression": { - "id": 239, + "id": 48715, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 228, + "id": 48704, "name": "exactInputSingleParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "3580:22:0", + "referencedDeclaration": 48692, + "src": "3580:22:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputSingleParams_$18_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputSingleParams_$48494_memory_ptr", "typeString": "struct ExactInputSingleParams memory" } }, @@ -3382,96 +3382,96 @@ "rightHandSide": { "arguments": [ { - "id": 230, + "id": 48706, "name": "tokenIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 197, - "src": "3651:7:0", + "referencedDeclaration": 48673, + "src": "3651:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 231, + "id": 48707, "name": "tokenOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 199, - "src": "3682:8:0", + "referencedDeclaration": 48675, + "src": "3682:8:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 232, + "id": 48708, "name": "fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 201, - "src": "3709:3:0", + "referencedDeclaration": 48677, + "src": "3709:3:53", "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" } }, { - "id": 233, + "id": 48709, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 203, - "src": "3737:9:0", + "referencedDeclaration": 48679, + "src": "3737:9:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 234, + "id": 48710, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "3770:8:0", + "referencedDeclaration": 48687, + "src": "3770:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 235, + "id": 48711, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "3802:8:0", + "referencedDeclaration": 48681, + "src": "3802:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 236, + "id": 48712, "name": "amountOutMinimum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "3842:16:0", + "referencedDeclaration": 48683, + "src": "3842:16:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 237, + "id": 48713, "name": "sqrtPriceLimitX96", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 209, - "src": "3891:17:0", + "referencedDeclaration": 48685, + "src": "3891:17:53", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -3513,32 +3513,32 @@ "typeString": "uint160" } ], - "id": 229, + "id": 48705, "name": "ExactInputSingleParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "3605:22:0", + "referencedDeclaration": 48494, + "src": "3605:22:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExactInputSingleParams_$18_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_ExactInputSingleParams_$48494_storage_ptr_$", "typeString": "type(struct ExactInputSingleParams storage pointer)" } }, - "id": 238, + "id": 48714, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "nameLocations": [ - "3642:7:0", - "3672:8:0", - "3704:3:0", - "3726:9:0", - "3760:8:0", - "3792:8:0", - "3824:16:0", - "3872:17:0" + "3642:7:53", + "3672:8:53", + "3704:3:53", + "3726:9:53", + "3760:8:53", + "3792:8:53", + "3824:16:53", + "3872:17:53" ], "names": [ "tokenIn", @@ -3551,90 +3551,90 @@ "sqrtPriceLimitX96" ], "nodeType": "FunctionCall", - "src": "3605:314:0", + "src": "3605:314:53", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputSingleParams_$18_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputSingleParams_$48494_memory_ptr", "typeString": "struct ExactInputSingleParams memory" } }, - "src": "3580:339:0", + "src": "3580:339:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputSingleParams_$18_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputSingleParams_$48494_memory_ptr", "typeString": "struct ExactInputSingleParams memory" } }, - "id": 240, + "id": 48716, "nodeType": "ExpressionStatement", - "src": "3580:339:0" + "src": "3580:339:53" }, { "assignments": [ - 243 + 48719 ], "declarations": [ { "constant": false, - "id": 243, + "id": 48719, "mutability": "mutable", "name": "exactInputParams", - "nameLocation": "3954:16:0", + "nameLocation": "3954:16:53", "nodeType": "VariableDeclaration", - "scope": 326, - "src": "3930:40:0", + "scope": 48802, + "src": "3930:40:53", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputParams_$29_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputParams_$48505_memory_ptr", "typeString": "struct ExactInputParams" }, "typeName": { - "id": 242, + "id": 48718, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 241, + "id": 48717, "name": "ExactInputParams", "nameLocations": [ - "3930:16:0" + "3930:16:53" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 29, - "src": "3930:16:0" + "referencedDeclaration": 48505, + "src": "3930:16:53" }, - "referencedDeclaration": 29, - "src": "3930:16:0", + "referencedDeclaration": 48505, + "src": "3930:16:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputParams_$29_storage_ptr", + "typeIdentifier": "t_struct$_ExactInputParams_$48505_storage_ptr", "typeString": "struct ExactInputParams" } }, "visibility": "internal" } ], - "id": 255, + "id": 48731, "initialValue": { "arguments": [ { "arguments": [ { - "id": 247, + "id": 48723, "name": "tokenIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 197, - "src": "4020:7:0", + "referencedDeclaration": 48673, + "src": "4020:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 248, + "id": 48724, "name": "tokenOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 199, - "src": "4029:8:0", + "referencedDeclaration": 48675, + "src": "4029:8:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3653,32 +3653,32 @@ } ], "expression": { - "id": 245, + "id": 48721, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4003:3:0", + "src": "4003:3:53", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 246, + "id": 48722, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "4007:12:0", + "memberLocation": "4007:12:53", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4003:16:0", + "src": "4003:16:53", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 249, + "id": 48725, "isConstant": false, "isLValue": false, "isPure": false, @@ -3687,7 +3687,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4003:35:0", + "src": "4003:35:53", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -3695,48 +3695,48 @@ } }, { - "id": 250, + "id": 48726, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 203, - "src": "4040:9:0", + "referencedDeclaration": 48679, + "src": "4040:9:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 251, + "id": 48727, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "4051:8:0", + "referencedDeclaration": 48687, + "src": "4051:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 252, + "id": 48728, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "4061:8:0", + "referencedDeclaration": 48681, + "src": "4061:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 253, + "id": 48729, "name": "amountOutMinimum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "4071:16:0", + "referencedDeclaration": 48683, + "src": "4071:16:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3766,18 +3766,18 @@ "typeString": "uint256" } ], - "id": 244, + "id": 48720, "name": "ExactInputParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "3973:16:0", + "referencedDeclaration": 48505, + "src": "3973:16:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExactInputParams_$29_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_ExactInputParams_$48505_storage_ptr_$", "typeString": "type(struct ExactInputParams storage pointer)" } }, - "id": 254, + "id": 48730, "isConstant": false, "isLValue": false, "isPure": false, @@ -3786,32 +3786,32 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3973:124:0", + "src": "3973:124:53", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputParams_$29_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputParams_$48505_memory_ptr", "typeString": "struct ExactInputParams memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "3930:167:0" + "src": "3930:167:53" }, { "expression": { - "id": 268, + "id": 48744, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 256, + "id": 48732, "name": "exactInputParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 243, - "src": "4107:16:0", + "referencedDeclaration": 48719, + "src": "4107:16:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputParams_$29_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputParams_$48505_memory_ptr", "typeString": "struct ExactInputParams memory" } }, @@ -3822,24 +3822,24 @@ { "arguments": [ { - "id": 260, + "id": 48736, "name": "tokenIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 197, - "src": "4180:7:0", + "referencedDeclaration": 48673, + "src": "4180:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 261, + "id": 48737, "name": "tokenOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 199, - "src": "4189:8:0", + "referencedDeclaration": 48675, + "src": "4189:8:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3858,32 +3858,32 @@ } ], "expression": { - "id": 258, + "id": 48734, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4163:3:0", + "src": "4163:3:53", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 259, + "id": 48735, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "4167:12:0", + "memberLocation": "4167:12:53", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4163:16:0", + "src": "4163:16:53", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 262, + "id": 48738, "isConstant": false, "isLValue": false, "isPure": false, @@ -3892,7 +3892,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4163:35:0", + "src": "4163:35:53", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -3900,48 +3900,48 @@ } }, { - "id": 263, + "id": 48739, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 203, - "src": "4223:9:0", + "referencedDeclaration": 48679, + "src": "4223:9:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 264, + "id": 48740, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "4256:8:0", + "referencedDeclaration": 48687, + "src": "4256:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 265, + "id": 48741, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "4288:8:0", + "referencedDeclaration": 48681, + "src": "4288:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 266, + "id": 48742, "name": "amountOutMinimum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "4328:16:0", + "referencedDeclaration": 48683, + "src": "4328:16:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3971,29 +3971,29 @@ "typeString": "uint256" } ], - "id": 257, + "id": 48733, "name": "ExactInputParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "4126:16:0", + "referencedDeclaration": 48505, + "src": "4126:16:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExactInputParams_$29_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_ExactInputParams_$48505_storage_ptr_$", "typeString": "type(struct ExactInputParams storage pointer)" } }, - "id": 267, + "id": 48743, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "nameLocations": [ - "4157:4:0", - "4212:9:0", - "4246:8:0", - "4278:8:0", - "4310:16:0" + "4157:4:53", + "4212:9:53", + "4246:8:53", + "4278:8:53", + "4310:16:53" ], "names": [ "path", @@ -4003,160 +4003,160 @@ "amountOutMinimum" ], "nodeType": "FunctionCall", - "src": "4126:229:0", + "src": "4126:229:53", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputParams_$29_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputParams_$48505_memory_ptr", "typeString": "struct ExactInputParams memory" } }, - "src": "4107:248:0", + "src": "4107:248:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactInputParams_$29_memory_ptr", + "typeIdentifier": "t_struct$_ExactInputParams_$48505_memory_ptr", "typeString": "struct ExactInputParams memory" } }, - "id": 269, + "id": 48745, "nodeType": "ExpressionStatement", - "src": "4107:248:0" + "src": "4107:248:53" }, { "assignments": [ - 272 + 48748 ], "declarations": [ { "constant": false, - "id": 272, + "id": 48748, "mutability": "mutable", "name": "exactOutputSingleParams", - "nameLocation": "4397:23:0", + "nameLocation": "4397:23:53", "nodeType": "VariableDeclaration", - "scope": 326, - "src": "4366:54:0", + "scope": 48802, + "src": "4366:54:53", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputSingleParams_$46_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputSingleParams_$48522_memory_ptr", "typeString": "struct ExactOutputSingleParams" }, "typeName": { - "id": 271, + "id": 48747, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 270, + "id": 48746, "name": "ExactOutputSingleParams", "nameLocations": [ - "4366:23:0" + "4366:23:53" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 46, - "src": "4366:23:0" + "referencedDeclaration": 48522, + "src": "4366:23:53" }, - "referencedDeclaration": 46, - "src": "4366:23:0", + "referencedDeclaration": 48522, + "src": "4366:23:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputSingleParams_$46_storage_ptr", + "typeIdentifier": "t_struct$_ExactOutputSingleParams_$48522_storage_ptr", "typeString": "struct ExactOutputSingleParams" } }, "visibility": "internal" } ], - "id": 283, + "id": 48759, "initialValue": { "arguments": [ { - "id": 274, + "id": 48750, "name": "tokenIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 197, - "src": "4460:7:0", + "referencedDeclaration": 48673, + "src": "4460:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 275, + "id": 48751, "name": "tokenOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 199, - "src": "4469:8:0", + "referencedDeclaration": 48675, + "src": "4469:8:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 276, + "id": 48752, "name": "fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 201, - "src": "4479:3:0", + "referencedDeclaration": 48677, + "src": "4479:3:53", "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" } }, { - "id": 277, + "id": 48753, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 203, - "src": "4484:9:0", + "referencedDeclaration": 48679, + "src": "4484:9:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 278, + "id": 48754, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "4495:8:0", + "referencedDeclaration": 48687, + "src": "4495:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 279, + "id": 48755, "name": "amountOutMinimum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "4505:16:0", + "referencedDeclaration": 48683, + "src": "4505:16:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 280, + "id": 48756, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "4523:8:0", + "referencedDeclaration": 48681, + "src": "4523:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 281, + "id": 48757, "name": "sqrtPriceLimitX96", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 209, - "src": "4533:17:0", + "referencedDeclaration": 48685, + "src": "4533:17:53", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -4198,18 +4198,18 @@ "typeString": "uint160" } ], - "id": 273, + "id": 48749, "name": "ExactOutputSingleParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46, - "src": "4423:23:0", + "referencedDeclaration": 48522, + "src": "4423:23:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExactOutputSingleParams_$46_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_ExactOutputSingleParams_$48522_storage_ptr_$", "typeString": "type(struct ExactOutputSingleParams storage pointer)" } }, - "id": 282, + "id": 48758, "isConstant": false, "isLValue": false, "isPure": false, @@ -4218,32 +4218,32 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4423:137:0", + "src": "4423:137:53", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputSingleParams_$46_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputSingleParams_$48522_memory_ptr", "typeString": "struct ExactOutputSingleParams memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "4366:194:0" + "src": "4366:194:53" }, { "expression": { - "id": 295, + "id": 48771, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 284, + "id": 48760, "name": "exactOutputSingleParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 272, - "src": "4570:23:0", + "referencedDeclaration": 48748, + "src": "4570:23:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputSingleParams_$46_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputSingleParams_$48522_memory_ptr", "typeString": "struct ExactOutputSingleParams memory" } }, @@ -4252,96 +4252,96 @@ "rightHandSide": { "arguments": [ { - "id": 286, + "id": 48762, "name": "tokenIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 197, - "src": "4643:7:0", + "referencedDeclaration": 48673, + "src": "4643:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 287, + "id": 48763, "name": "tokenOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 199, - "src": "4674:8:0", + "referencedDeclaration": 48675, + "src": "4674:8:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 288, + "id": 48764, "name": "fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 201, - "src": "4701:3:0", + "referencedDeclaration": 48677, + "src": "4701:3:53", "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" } }, { - "id": 289, + "id": 48765, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 203, - "src": "4729:9:0", + "referencedDeclaration": 48679, + "src": "4729:9:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 290, + "id": 48766, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "4762:8:0", + "referencedDeclaration": 48687, + "src": "4762:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 291, + "id": 48767, "name": "amountOutMinimum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "4795:16:0", + "referencedDeclaration": 48683, + "src": "4795:16:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 292, + "id": 48768, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "4842:8:0", + "referencedDeclaration": 48681, + "src": "4842:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 293, + "id": 48769, "name": "sqrtPriceLimitX96", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 209, - "src": "4883:17:0", + "referencedDeclaration": 48685, + "src": "4883:17:53", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -4383,32 +4383,32 @@ "typeString": "uint160" } ], - "id": 285, + "id": 48761, "name": "ExactOutputSingleParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46, - "src": "4596:23:0", + "referencedDeclaration": 48522, + "src": "4596:23:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExactOutputSingleParams_$46_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_ExactOutputSingleParams_$48522_storage_ptr_$", "typeString": "type(struct ExactOutputSingleParams storage pointer)" } }, - "id": 294, + "id": 48770, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "nameLocations": [ - "4634:7:0", - "4664:8:0", - "4696:3:0", - "4718:9:0", - "4752:8:0", - "4784:9:0", - "4825:15:0", - "4864:17:0" + "4634:7:53", + "4664:8:53", + "4696:3:53", + "4718:9:53", + "4752:8:53", + "4784:9:53", + "4825:15:53", + "4864:17:53" ], "names": [ "tokenIn", @@ -4421,90 +4421,90 @@ "sqrtPriceLimitX96" ], "nodeType": "FunctionCall", - "src": "4596:315:0", + "src": "4596:315:53", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputSingleParams_$46_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputSingleParams_$48522_memory_ptr", "typeString": "struct ExactOutputSingleParams memory" } }, - "src": "4570:341:0", + "src": "4570:341:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputSingleParams_$46_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputSingleParams_$48522_memory_ptr", "typeString": "struct ExactOutputSingleParams memory" } }, - "id": 296, + "id": 48772, "nodeType": "ExpressionStatement", - "src": "4570:341:0" + "src": "4570:341:53" }, { "assignments": [ - 299 + 48775 ], "declarations": [ { "constant": false, - "id": 299, + "id": 48775, "mutability": "mutable", "name": "exactOutputParams", - "nameLocation": "4947:17:0", + "nameLocation": "4947:17:53", "nodeType": "VariableDeclaration", - "scope": 326, - "src": "4922:42:0", + "scope": 48802, + "src": "4922:42:53", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputParams_$57_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputParams_$48533_memory_ptr", "typeString": "struct ExactOutputParams" }, "typeName": { - "id": 298, + "id": 48774, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 297, + "id": 48773, "name": "ExactOutputParams", "nameLocations": [ - "4922:17:0" + "4922:17:53" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 57, - "src": "4922:17:0" + "referencedDeclaration": 48533, + "src": "4922:17:53" }, - "referencedDeclaration": 57, - "src": "4922:17:0", + "referencedDeclaration": 48533, + "src": "4922:17:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputParams_$57_storage_ptr", + "typeIdentifier": "t_struct$_ExactOutputParams_$48533_storage_ptr", "typeString": "struct ExactOutputParams" } }, "visibility": "internal" } ], - "id": 311, + "id": 48787, "initialValue": { "arguments": [ { "arguments": [ { - "id": 303, + "id": 48779, "name": "tokenIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 197, - "src": "5015:7:0", + "referencedDeclaration": 48673, + "src": "5015:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 304, + "id": 48780, "name": "tokenOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 199, - "src": "5024:8:0", + "referencedDeclaration": 48675, + "src": "5024:8:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4523,32 +4523,32 @@ } ], "expression": { - "id": 301, + "id": 48777, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4998:3:0", + "src": "4998:3:53", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 302, + "id": 48778, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "5002:12:0", + "memberLocation": "5002:12:53", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4998:16:0", + "src": "4998:16:53", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 305, + "id": 48781, "isConstant": false, "isLValue": false, "isPure": false, @@ -4557,7 +4557,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4998:35:0", + "src": "4998:35:53", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -4565,48 +4565,48 @@ } }, { - "id": 306, + "id": 48782, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 203, - "src": "5035:9:0", + "referencedDeclaration": 48679, + "src": "5035:9:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 307, + "id": 48783, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "5046:8:0", + "referencedDeclaration": 48687, + "src": "5046:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 308, + "id": 48784, "name": "amountOutMinimum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "5056:16:0", + "referencedDeclaration": 48683, + "src": "5056:16:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 309, + "id": 48785, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "5074:8:0", + "referencedDeclaration": 48681, + "src": "5074:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4636,18 +4636,18 @@ "typeString": "uint256" } ], - "id": 300, + "id": 48776, "name": "ExactOutputParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "4967:17:0", + "referencedDeclaration": 48533, + "src": "4967:17:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExactOutputParams_$57_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_ExactOutputParams_$48533_storage_ptr_$", "typeString": "type(struct ExactOutputParams storage pointer)" } }, - "id": 310, + "id": 48786, "isConstant": false, "isLValue": false, "isPure": false, @@ -4656,32 +4656,32 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4967:125:0", + "src": "4967:125:53", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputParams_$57_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputParams_$48533_memory_ptr", "typeString": "struct ExactOutputParams memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "4922:170:0" + "src": "4922:170:53" }, { "expression": { - "id": 324, + "id": 48800, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 312, + "id": 48788, "name": "exactOutputParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "5102:17:0", + "referencedDeclaration": 48775, + "src": "5102:17:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputParams_$57_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputParams_$48533_memory_ptr", "typeString": "struct ExactOutputParams memory" } }, @@ -4692,24 +4692,24 @@ { "arguments": [ { - "id": 316, + "id": 48792, "name": "tokenIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 197, - "src": "5177:7:0", + "referencedDeclaration": 48673, + "src": "5177:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 317, + "id": 48793, "name": "tokenOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 199, - "src": "5186:8:0", + "referencedDeclaration": 48675, + "src": "5186:8:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4728,32 +4728,32 @@ } ], "expression": { - "id": 314, + "id": 48790, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "5160:3:0", + "src": "5160:3:53", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 315, + "id": 48791, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "5164:12:0", + "memberLocation": "5164:12:53", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "5160:16:0", + "src": "5160:16:53", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 318, + "id": 48794, "isConstant": false, "isLValue": false, "isPure": false, @@ -4762,7 +4762,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5160:35:0", + "src": "5160:35:53", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -4770,48 +4770,48 @@ } }, { - "id": 319, + "id": 48795, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 203, - "src": "5220:9:0", + "referencedDeclaration": 48679, + "src": "5220:9:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 320, + "id": 48796, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "5253:8:0", + "referencedDeclaration": 48687, + "src": "5253:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 321, + "id": 48797, "name": "amountOutMinimum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "5286:16:0", + "referencedDeclaration": 48683, + "src": "5286:16:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 322, + "id": 48798, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "5333:8:0", + "referencedDeclaration": 48681, + "src": "5333:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4841,29 +4841,29 @@ "typeString": "uint256" } ], - "id": 313, + "id": 48789, "name": "ExactOutputParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "5122:17:0", + "referencedDeclaration": 48533, + "src": "5122:17:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ExactOutputParams_$57_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_ExactOutputParams_$48533_storage_ptr_$", "typeString": "type(struct ExactOutputParams storage pointer)" } }, - "id": 323, + "id": 48799, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "nameLocations": [ - "5154:4:0", - "5209:9:0", - "5243:8:0", - "5275:9:0", - "5316:15:0" + "5154:4:53", + "5209:9:53", + "5243:8:53", + "5275:9:53", + "5316:15:53" ], "names": [ "path", @@ -4873,22 +4873,22 @@ "amountInMaximum" ], "nodeType": "FunctionCall", - "src": "5122:230:0", + "src": "5122:230:53", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputParams_$57_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputParams_$48533_memory_ptr", "typeString": "struct ExactOutputParams memory" } }, - "src": "5102:250:0", + "src": "5102:250:53", "typeDescriptions": { - "typeIdentifier": "t_struct$_ExactOutputParams_$57_memory_ptr", + "typeIdentifier": "t_struct$_ExactOutputParams_$48533_memory_ptr", "typeString": "struct ExactOutputParams memory" } }, - "id": 325, + "id": 48801, "nodeType": "ExpressionStatement", - "src": "5102:250:0" + "src": "5102:250:53" } ] }, @@ -4897,20 +4897,20 @@ "kind": "function", "modifiers": [], "name": "goodSwaps", - "nameLocation": "3120:9:0", + "nameLocation": "3120:9:53", "parameters": { - "id": 212, + "id": 48688, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 197, + "id": 48673, "mutability": "mutable", "name": "tokenIn", - "nameLocation": "3147:7:0", + "nameLocation": "3147:7:53", "nodeType": "VariableDeclaration", - "scope": 327, - "src": "3139:15:0", + "scope": 48803, + "src": "3139:15:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4918,10 +4918,10 @@ "typeString": "address" }, "typeName": { - "id": 196, + "id": 48672, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3139:7:0", + "src": "3139:7:53", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4932,13 +4932,13 @@ }, { "constant": false, - "id": 199, + "id": 48675, "mutability": "mutable", "name": "tokenOut", - "nameLocation": "3172:8:0", + "nameLocation": "3172:8:53", "nodeType": "VariableDeclaration", - "scope": 327, - "src": "3164:16:0", + "scope": 48803, + "src": "3164:16:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4946,10 +4946,10 @@ "typeString": "address" }, "typeName": { - "id": 198, + "id": 48674, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3164:7:0", + "src": "3164:7:53", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4960,13 +4960,13 @@ }, { "constant": false, - "id": 201, + "id": 48677, "mutability": "mutable", "name": "fee", - "nameLocation": "3197:3:0", + "nameLocation": "3197:3:53", "nodeType": "VariableDeclaration", - "scope": 327, - "src": "3190:10:0", + "scope": 48803, + "src": "3190:10:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4974,10 +4974,10 @@ "typeString": "uint24" }, "typeName": { - "id": 200, + "id": 48676, "name": "uint24", "nodeType": "ElementaryTypeName", - "src": "3190:6:0", + "src": "3190:6:53", "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" @@ -4987,13 +4987,13 @@ }, { "constant": false, - "id": 203, + "id": 48679, "mutability": "mutable", "name": "recipient", - "nameLocation": "3218:9:0", + "nameLocation": "3218:9:53", "nodeType": "VariableDeclaration", - "scope": 327, - "src": "3210:17:0", + "scope": 48803, + "src": "3210:17:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5001,10 +5001,10 @@ "typeString": "address" }, "typeName": { - "id": 202, + "id": 48678, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3210:7:0", + "src": "3210:7:53", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5015,13 +5015,13 @@ }, { "constant": false, - "id": 205, + "id": 48681, "mutability": "mutable", "name": "amountIn", - "nameLocation": "3245:8:0", + "nameLocation": "3245:8:53", "nodeType": "VariableDeclaration", - "scope": 327, - "src": "3237:16:0", + "scope": 48803, + "src": "3237:16:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5029,10 +5029,10 @@ "typeString": "uint256" }, "typeName": { - "id": 204, + "id": 48680, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3237:7:0", + "src": "3237:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5042,13 +5042,13 @@ }, { "constant": false, - "id": 207, + "id": 48683, "mutability": "mutable", "name": "amountOutMinimum", - "nameLocation": "3271:16:0", + "nameLocation": "3271:16:53", "nodeType": "VariableDeclaration", - "scope": 327, - "src": "3263:24:0", + "scope": 48803, + "src": "3263:24:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5056,10 +5056,10 @@ "typeString": "uint256" }, "typeName": { - "id": 206, + "id": 48682, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3263:7:0", + "src": "3263:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5069,13 +5069,13 @@ }, { "constant": false, - "id": 209, + "id": 48685, "mutability": "mutable", "name": "sqrtPriceLimitX96", - "nameLocation": "3305:17:0", + "nameLocation": "3305:17:53", "nodeType": "VariableDeclaration", - "scope": 327, - "src": "3297:25:0", + "scope": 48803, + "src": "3297:25:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5083,10 +5083,10 @@ "typeString": "uint160" }, "typeName": { - "id": 208, + "id": 48684, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "3297:7:0", + "src": "3297:7:53", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -5096,13 +5096,13 @@ }, { "constant": false, - "id": 211, + "id": 48687, "mutability": "mutable", "name": "deadline", - "nameLocation": "3340:8:0", + "nameLocation": "3340:8:53", "nodeType": "VariableDeclaration", - "scope": 327, - "src": "3332:16:0", + "scope": 48803, + "src": "3332:16:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5110,10 +5110,10 @@ "typeString": "uint256" }, "typeName": { - "id": 210, + "id": 48686, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3332:7:0", + "src": "3332:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5122,15 +5122,15 @@ "visibility": "internal" } ], - "src": "3129:225:0" + "src": "3129:225:53" }, "returnParameters": { - "id": 213, + "id": 48689, "nodeType": "ParameterList", "parameters": [], - "src": "3369:0:0" + "src": "3369:0:53" }, - "scope": 328, + "scope": 48804, "stateMutability": "pure", "virtual": false, "visibility": "external" @@ -5143,16 +5143,16 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 328 + 48804 ], "name": "UniswapV3Swapper", - "nameLocation": "796:16:0", - "scope": 329, + "nameLocation": "796:16:53", + "scope": 48805, "usedErrors": [], "usedEvents": [] } ], "license": "MIT" }, - "id": 0 + "id": 53 } \ No newline at end of file diff --git a/tests/contract-playground/out/UnsafeERC721Mint.sol/UnsafeERC721Mint.json b/tests/contract-playground/out/UnsafeERC721Mint.sol/UnsafeERC721Mint.json index e07674785..01d886a3d 100644 --- a/tests/contract-playground/out/UnsafeERC721Mint.sol/UnsafeERC721Mint.json +++ b/tests/contract-playground/out/UnsafeERC721Mint.sol/UnsafeERC721Mint.json @@ -374,12 +374,12 @@ ], "bytecode": { "object": "0x60806040523480156200001157600080fd5b506040518060400160405280601081526020016f155b9cd85999515490cdcc8c535a5b9d60821b81525060405180604001604052806005815260200164553732314d60d81b81525081600090816200006a919062000127565b50600162000079828262000127565b505050620001f3565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ad57607f821691505b602082108103620000ce57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012257600081815260208120601f850160051c81016020861015620000fd5750805b601f850160051c820191505b818110156200011e5782815560010162000109565b5050505b505050565b81516001600160401b0381111562000143576200014362000082565b6200015b8162000154845462000098565b84620000d4565b602080601f8311600181146200019357600084156200017a5750858301515b600019600386901b1c1916600185901b1785556200011e565b600085815260208120601f198616915b82811015620001c457888601518255948401946001909101908401620001a3565b5085821015620001e35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61132b80620002036000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806342842e0e11610097578063a22cb46511610066578063a22cb465146101ff578063b88d4fde14610212578063c87b56dd14610225578063e985e9c51461023857600080fd5b806342842e0e146101b05780636352211e146101c357806370a08231146101d657806395d89b41146101f757600080fd5b8063095ea7b3116100d3578063095ea7b314610162578063168e4ae01461017757806323b872dd1461018a5780632c70bf151461019d57600080fd5b806301ffc9a7146100fa57806306fdde0314610122578063081812fc14610137575b600080fd5b61010d610108366004610eb7565b610274565b60405190151581526020015b60405180910390f35b61012a6102c6565b6040516101199190610f24565b61014a610145366004610f37565b610358565b6040516001600160a01b039091168152602001610119565b610175610170366004610f6c565b61037f565b005b610175610185366004610f6c565b610499565b610175610198366004610f96565b6104a7565b6101756101ab366004610f6c565b6104d8565b6101756101be366004610f96565b6104e2565b61014a6101d1366004610f37565b6104fd565b6101e96101e4366004610fd2565b61055d565b604051908152602001610119565b61012a6105e3565b61017561020d366004610fed565b6105f2565b61017561022036600461103f565b6105fd565b61012a610233366004610f37565b610635565b61010d61024636600461111b565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b14806102a557506001600160e01b03198216635b5e139f60e01b145b806102c057506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600080546102d59061114e565b80601f01602080910402602001604051908101604052809291908181526020018280546103019061114e565b801561034e5780601f106103235761010080835404028352916020019161034e565b820191906000526020600020905b81548152906001019060200180831161033157829003601f168201915b5050505050905090565b6000610363826106a9565b506000908152600460205260409020546001600160a01b031690565b600061038a826104fd565b9050806001600160a01b0316836001600160a01b0316036103fc5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061041857506104188133610246565b61048a5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103f3565b610494838361070b565b505050565b6104a38282610779565b5050565b6104b13382610904565b6104cd5760405162461bcd60e51b81526004016103f390611188565b610494838383610983565b6104a38282610ae7565b610494838383604051806020016040528060008152506105fd565b6000818152600260205260408120546001600160a01b0316806102c05760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103f3565b60006001600160a01b0382166105c75760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103f3565b506001600160a01b031660009081526003602052604090205490565b6060600180546102d59061114e565b6104a3338383610b01565b6106073383610904565b6106235760405162461bcd60e51b81526004016103f390611188565b61062f84848484610bcf565b50505050565b6060610640826106a9565b600061065760408051602081019091526000815290565b9050600081511161067757604051806020016040528060008152506106a2565b8061068184610c02565b6040516020016106929291906111d5565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166107085760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103f3565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610740826104fd565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6001600160a01b0382166107cf5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016103f3565b6000818152600260205260409020546001600160a01b0316156108345760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016103f3565b6000818152600260205260409020546001600160a01b0316156108995760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016103f3565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600080610910836104fd565b9050806001600160a01b0316846001600160a01b0316148061095757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061097b5750836001600160a01b031661097084610358565b6001600160a01b0316145b949350505050565b826001600160a01b0316610996826104fd565b6001600160a01b0316146109bc5760405162461bcd60e51b81526004016103f390611204565b6001600160a01b038216610a1e5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103f3565b826001600160a01b0316610a31826104fd565b6001600160a01b031614610a575760405162461bcd60e51b81526004016103f390611204565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6104a3828260405180602001604052806000815250610c95565b816001600160a01b0316836001600160a01b031603610b625760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103f3565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610bda848484610983565b610be684848484610cc8565b61062f5760405162461bcd60e51b81526004016103f390611249565b60606000610c0f83610dc9565b600101905060008167ffffffffffffffff811115610c2f57610c2f611029565b6040519080825280601f01601f191660200182016040528015610c59576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610c6357509392505050565b610c9f8383610779565b610cac6000848484610cc8565b6104945760405162461bcd60e51b81526004016103f390611249565b60006001600160a01b0384163b15610dbe57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610d0c90339089908890889060040161129b565b6020604051808303816000875af1925050508015610d47575060408051601f3d908101601f19168201909252610d44918101906112d8565b60015b610da4573d808015610d75576040519150601f19603f3d011682016040523d82523d6000602084013e610d7a565b606091505b508051600003610d9c5760405162461bcd60e51b81526004016103f390611249565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061097b565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610e085772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610e34576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610e5257662386f26fc10000830492506010015b6305f5e1008310610e6a576305f5e100830492506008015b6127108310610e7e57612710830492506004015b60648310610e90576064830492506002015b600a83106102c05760010192915050565b6001600160e01b03198116811461070857600080fd5b600060208284031215610ec957600080fd5b81356106a281610ea1565b60005b83811015610eef578181015183820152602001610ed7565b50506000910152565b60008151808452610f10816020860160208601610ed4565b601f01601f19169290920160200192915050565b6020815260006106a26020830184610ef8565b600060208284031215610f4957600080fd5b5035919050565b80356001600160a01b0381168114610f6757600080fd5b919050565b60008060408385031215610f7f57600080fd5b610f8883610f50565b946020939093013593505050565b600080600060608486031215610fab57600080fd5b610fb484610f50565b9250610fc260208501610f50565b9150604084013590509250925092565b600060208284031215610fe457600080fd5b6106a282610f50565b6000806040838503121561100057600080fd5b61100983610f50565b91506020830135801515811461101e57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561105557600080fd5b61105e85610f50565b935061106c60208601610f50565b925060408501359150606085013567ffffffffffffffff8082111561109057600080fd5b818701915087601f8301126110a457600080fd5b8135818111156110b6576110b6611029565b604051601f8201601f19908116603f011681019083821181831017156110de576110de611029565b816040528281528a60208487010111156110f757600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561112e57600080fd5b61113783610f50565b915061114560208401610f50565b90509250929050565b600181811c9082168061116257607f821691505b60208210810361118257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b600083516111e7818460208801610ed4565b8351908301906111fb818360208801610ed4565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906112ce90830184610ef8565b9695505050505050565b6000602082840312156112ea57600080fd5b81516106a281610ea156fea26469706673582212207da0f5b7656e047ea73b52e8c00fa1c2f835750f0634dcca1c553f93ae38ab6064736f6c63430008140033", - "sourceMap": "146:298:11:-:0;;;188:52;;;;;;;;;;1390:113:0;;;;;;;;;;;;;-1:-1:-1;;;1390:113:0;;;;;;;;;;;;;;;;-1:-1:-1;;;1390:113:0;;;1464:5;1456;:13;;;;;;:::i;:::-;-1:-1:-1;1479:7:0;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;146:298:11;;14:127:12;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:12;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:12;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:12;;;2580:26;2531:89;-1:-1:-1;;1335:1:12;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:12;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:12;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:12;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:12:o;:::-;146:298:11;;;;;;", + "sourceMap": "146:298:48:-:0;;;188:52;;;;;;;;;;1390:113:26;;;;;;;;;;;;;-1:-1:-1;;;1390:113:26;;;;;;;;;;;;;;;;-1:-1:-1;;;1390:113:26;;;1464:5;1456;:13;;;;;;:::i;:::-;-1:-1:-1;1479:7:26;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;146:298:48;;14:127:55;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:55;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:55;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:55;;;2580:26;2531:89;-1:-1:-1;;1335:1:55;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:55;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:55;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:55;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:55:o;:::-;146:298:48;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806342842e0e11610097578063a22cb46511610066578063a22cb465146101ff578063b88d4fde14610212578063c87b56dd14610225578063e985e9c51461023857600080fd5b806342842e0e146101b05780636352211e146101c357806370a08231146101d657806395d89b41146101f757600080fd5b8063095ea7b3116100d3578063095ea7b314610162578063168e4ae01461017757806323b872dd1461018a5780632c70bf151461019d57600080fd5b806301ffc9a7146100fa57806306fdde0314610122578063081812fc14610137575b600080fd5b61010d610108366004610eb7565b610274565b60405190151581526020015b60405180910390f35b61012a6102c6565b6040516101199190610f24565b61014a610145366004610f37565b610358565b6040516001600160a01b039091168152602001610119565b610175610170366004610f6c565b61037f565b005b610175610185366004610f6c565b610499565b610175610198366004610f96565b6104a7565b6101756101ab366004610f6c565b6104d8565b6101756101be366004610f96565b6104e2565b61014a6101d1366004610f37565b6104fd565b6101e96101e4366004610fd2565b61055d565b604051908152602001610119565b61012a6105e3565b61017561020d366004610fed565b6105f2565b61017561022036600461103f565b6105fd565b61012a610233366004610f37565b610635565b61010d61024636600461111b565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b14806102a557506001600160e01b03198216635b5e139f60e01b145b806102c057506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600080546102d59061114e565b80601f01602080910402602001604051908101604052809291908181526020018280546103019061114e565b801561034e5780601f106103235761010080835404028352916020019161034e565b820191906000526020600020905b81548152906001019060200180831161033157829003601f168201915b5050505050905090565b6000610363826106a9565b506000908152600460205260409020546001600160a01b031690565b600061038a826104fd565b9050806001600160a01b0316836001600160a01b0316036103fc5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061041857506104188133610246565b61048a5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103f3565b610494838361070b565b505050565b6104a38282610779565b5050565b6104b13382610904565b6104cd5760405162461bcd60e51b81526004016103f390611188565b610494838383610983565b6104a38282610ae7565b610494838383604051806020016040528060008152506105fd565b6000818152600260205260408120546001600160a01b0316806102c05760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103f3565b60006001600160a01b0382166105c75760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103f3565b506001600160a01b031660009081526003602052604090205490565b6060600180546102d59061114e565b6104a3338383610b01565b6106073383610904565b6106235760405162461bcd60e51b81526004016103f390611188565b61062f84848484610bcf565b50505050565b6060610640826106a9565b600061065760408051602081019091526000815290565b9050600081511161067757604051806020016040528060008152506106a2565b8061068184610c02565b6040516020016106929291906111d5565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166107085760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103f3565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610740826104fd565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6001600160a01b0382166107cf5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016103f3565b6000818152600260205260409020546001600160a01b0316156108345760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016103f3565b6000818152600260205260409020546001600160a01b0316156108995760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016103f3565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600080610910836104fd565b9050806001600160a01b0316846001600160a01b0316148061095757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061097b5750836001600160a01b031661097084610358565b6001600160a01b0316145b949350505050565b826001600160a01b0316610996826104fd565b6001600160a01b0316146109bc5760405162461bcd60e51b81526004016103f390611204565b6001600160a01b038216610a1e5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103f3565b826001600160a01b0316610a31826104fd565b6001600160a01b031614610a575760405162461bcd60e51b81526004016103f390611204565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6104a3828260405180602001604052806000815250610c95565b816001600160a01b0316836001600160a01b031603610b625760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103f3565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610bda848484610983565b610be684848484610cc8565b61062f5760405162461bcd60e51b81526004016103f390611249565b60606000610c0f83610dc9565b600101905060008167ffffffffffffffff811115610c2f57610c2f611029565b6040519080825280601f01601f191660200182016040528015610c59576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610c6357509392505050565b610c9f8383610779565b610cac6000848484610cc8565b6104945760405162461bcd60e51b81526004016103f390611249565b60006001600160a01b0384163b15610dbe57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610d0c90339089908890889060040161129b565b6020604051808303816000875af1925050508015610d47575060408051601f3d908101601f19168201909252610d44918101906112d8565b60015b610da4573d808015610d75576040519150601f19603f3d011682016040523d82523d6000602084013e610d7a565b606091505b508051600003610d9c5760405162461bcd60e51b81526004016103f390611249565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061097b565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610e085772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610e34576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610e5257662386f26fc10000830492506010015b6305f5e1008310610e6a576305f5e100830492506008015b6127108310610e7e57612710830492506004015b60648310610e90576064830492506002015b600a83106102c05760010192915050565b6001600160e01b03198116811461070857600080fd5b600060208284031215610ec957600080fd5b81356106a281610ea1565b60005b83811015610eef578181015183820152602001610ed7565b50506000910152565b60008151808452610f10816020860160208601610ed4565b601f01601f19169290920160200192915050565b6020815260006106a26020830184610ef8565b600060208284031215610f4957600080fd5b5035919050565b80356001600160a01b0381168114610f6757600080fd5b919050565b60008060408385031215610f7f57600080fd5b610f8883610f50565b946020939093013593505050565b600080600060608486031215610fab57600080fd5b610fb484610f50565b9250610fc260208501610f50565b9150604084013590509250925092565b600060208284031215610fe457600080fd5b6106a282610f50565b6000806040838503121561100057600080fd5b61100983610f50565b91506020830135801515811461101e57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561105557600080fd5b61105e85610f50565b935061106c60208601610f50565b925060408501359150606085013567ffffffffffffffff8082111561109057600080fd5b818701915087601f8301126110a457600080fd5b8135818111156110b6576110b6611029565b604051601f8201601f19908116603f011681019083821181831017156110de576110de611029565b816040528281528a60208487010111156110f757600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561112e57600080fd5b61113783610f50565b915061114560208401610f50565b90509250929050565b600181811c9082168061116257607f821691505b60208210810361118257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b600083516111e7818460208801610ed4565b8351908301906111fb818360208801610ed4565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906112ce90830184610ef8565b9695505050505050565b6000602082840312156112ea57600080fd5b81516106a281610ea156fea26469706673582212207da0f5b7656e047ea73b52e8c00fa1c2f835750f0634dcca1c553f93ae38ab6064736f6c63430008140033", - "sourceMap": "146:298:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:0;;;;;;:::i;:::-;;:::i;:::-;;;565:14:12;;558:22;540:41;;528:2;513:18;1570:300:0;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1697:32:12;;;1679:51;;1667:2;1652:18;3935:167:0;1533:203:12;3468:406:0;;;;;;:::i;:::-;;:::i;:::-;;246:93:11;;;;;;:::i;:::-;;:::i;4612:296:0:-;;;;;;:::i;:::-;;:::i;345:97:11:-;;;;;;:::i;:::-;;:::i;4974:149:0:-;;;;;;:::i;:::-;;:::i;2190:219::-;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;:::-;;;2848:25:12;;;2836:2;2821:18;1929:204:0;2702:177:12;2633:102:0;;;:::i;4169:153::-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;2801:::-;;;;;;:::i;:::-;;:::i;4388:162::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:0;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;-1:-1:-1;;;;;;1707:40:0;;-1:-1:-1;;;1707:40:0;;:104;;-1:-1:-1;;;;;;;1763:48:0;;-1:-1:-1;;;1763:48:0;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:7;;;1827:36:0;1688:175;1570:300;-1:-1:-1;;1570:300:0:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:0;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:0;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:0;:2;-1:-1:-1;;;;;3605:11:0;;3597:57;;;;-1:-1:-1;;;3597:57:0;;5363:2:12;3597:57:0;;;5345:21:12;5402:2;5382:18;;;5375:30;5441:34;5421:18;;;5414:62;-1:-1:-1;;;5492:18:12;;;5485:31;5533:19;;3597:57:0;;;;;;;;;719:10:5;-1:-1:-1;;;;;3686:21:0;;;;:62;;-1:-1:-1;3711:37:0;3728:5;719:10:5;4388:162:0;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:0;;5765:2:12;3665:170:0;;;5747:21:12;5804:2;5784:18;;;5777:30;5843:34;5823:18;;;5816:62;5914:31;5894:18;;;5887:59;5963:19;;3665:170:0;5563:425:12;3665:170:0;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;246:93:11:-;314:18;320:2;324:7;314:5;:18::i;:::-;246:93;;:::o;4612:296:0:-;4771:41;719:10:5;4804:7:0;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:0;;;;;;;:::i;:::-;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;345:97:11:-;413:22;423:2;427:7;413:9;:22::i;4974:149:0:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;2190:219::-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:0;;2324:56;;;;-1:-1:-1;;;2324:56:0;;6609:2:12;2324:56:0;;;6591:21:12;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:12;;;6660:54;6731:18;;2324:56:0;6407:348:12;1929:204:0;2001:7;-1:-1:-1;;;;;2028:19:0;;2020:73;;;;-1:-1:-1;;;2020:73:0;;6962:2:12;2020:73:0;;;6944:21:12;7001:2;6981:18;;;6974:30;7040:34;7020:18;;;7013:62;-1:-1:-1;;;7091:18:12;;;7084:39;7140:19;;2020:73:0;6760:405:12;2020:73:0;-1:-1:-1;;;;;;2110:16:0;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:5;4296:8:0;4306;4263:18;:52::i;5189:276::-;5319:41;719:10:5;5352:7:0;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:0;;;;;;;:::i;:::-;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;2801:::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;3395:9;;;;;;;;;-1:-1:-1;3395:9:0;;;3319:92;2957:10;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;2801:276;-1:-1:-1;;;2801:276:0:o;13240:133::-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:0;13313:53;;;;-1:-1:-1;;;13313:53:0;;6609:2:12;13313:53:0;;;6591:21:12;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:12;;;6660:54;6731:18;;13313:53:0;6407:348:12;13313:53:0;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:0;-1:-1:-1;;;;;12646:29:0;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:0;;;;;;;;;;;12572:171;;:::o;8925:920::-;-1:-1:-1;;;;;9004:16:0;;8996:61;;;;-1:-1:-1;;;8996:61:0;;7873:2:12;8996:61:0;;;7855:21:12;;;7892:18;;;7885:30;7951:34;7931:18;;;7924:62;8003:18;;8996:61:0;7671:356:12;8996:61:0;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:0;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:0;;8234:2:12;9067:58:0;;;8216:21:12;8273:2;8253:18;;;8246:30;8312;8292:18;;;8285:58;8360:18;;9067:58:0;8032:352:12;9067:58:0;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:0;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:0;;8234:2:12;9271:58:0;;;8216:21:12;8273:2;8253:18;;;8246:30;8312;8292:18;;;8285:58;8360:18;;9271:58:0;8032:352:12;9271:58:0;-1:-1:-1;;;;;9671:13:0;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9710:21:0;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;246:93:11;;:::o;7404:261:0:-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:0;:7;-1:-1:-1;;;;;7570:16:0;;:52;;;-1:-1:-1;;;;;;4508:25:0;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:0;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:0;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:0:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:0;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:0;;11346:81;;;;-1:-1:-1;;;11346:81:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11445:16:0;;11437:65;;;;-1:-1:-1;;;11437:65:0;;8997:2:12;11437:65:0;;;8979:21:12;9036:2;9016:18;;;9009:30;9075:34;9055:18;;;9048:62;-1:-1:-1;;;9126:18:12;;;9119:34;9170:19;;11437:65:0;8795:400:12;11437:65:0;11682:4;-1:-1:-1;;;;;11655:31:0;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:0;;11647:81;;;;-1:-1:-1;;;11647:81:0;;;;;;;:::i;:::-;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:0;;;;;;-1:-1:-1;;;;;12265:15:0;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:0;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;7995:108::-;8070:26;8080:2;8084:7;8070:26;;;;;;;;;;;;:9;:26::i;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:0;:5;-1:-1:-1;;;;;12990:17:0;;12982:55;;;;-1:-1:-1;;;12982:55:0;;9402:2:12;12982:55:0;;;9384:21:12;9441:2;9421:18;;;9414:30;9480:27;9460:18;;;9453:55;9525:18;;12982:55:0;9200:349:12;12982:55:0;-1:-1:-1;;;;;13047:25:0;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:0;;;;;;;;;;13108:41;;540::12;;;13108::0;;513:18:12;13108:41:0;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:0;;;;;;;:::i;447:696:6:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:6;-1:-1:-1;604:41:6;-1:-1:-1;765:28:6;;;781:2;765:28;820:280;-1:-1:-1;;851:5:6;-1:-1:-1;;;985:2:6;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:6;820:280;1064:21;-1:-1:-1;1120:6:6;447:696;-1:-1:-1;;;447:696:6:o;8324:279:0:-;8418:18;8424:2;8428:7;8418:5;:18::i;:::-;8467:53;8498:1;8502:2;8506:7;8515:4;8467:22;:53::i;:::-;8446:150;;;;-1:-1:-1;;;8446:150:0;;;;;;;:::i;13925:831::-;14074:4;-1:-1:-1;;;;;14094:13:0;;1702:19:4;:23;14090:660:0;;14129:71;;-1:-1:-1;;;14129:71:0;;-1:-1:-1;;;;;14129:36:0;;;;;:71;;719:10:5;;14180:4:0;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:0;;;;;;;;-1:-1:-1;;14129:71:0;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:0;;;;;;;:::i;14363:321::-;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:0;-1:-1:-1;;;14250:51:0;;-1:-1:-1;14243:58:0;;14090:660;-1:-1:-1;14735:4:0;13925:831;;;;;;:::o;10139:916:9:-;10192:7;;-1:-1:-1;;;10267:17:9;;10263:103;;-1:-1:-1;;;10304:17:9;;;-1:-1:-1;10349:2:9;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:9;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:9;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:9;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:9;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:9;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:9:o;14:131:12:-;-1:-1:-1;;;;;;88:32:12;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:250::-;677:1;687:113;701:6;698:1;695:13;687:113;;;777:11;;;771:18;758:11;;;751:39;723:2;716:10;687:113;;;-1:-1:-1;;834:1:12;816:16;;809:27;592:250::o;847:271::-;889:3;927:5;921:12;954:6;949:3;942:19;970:76;1039:6;1032:4;1027:3;1023:14;1016:4;1009:5;1005:16;970:76;:::i;:::-;1100:2;1079:15;-1:-1:-1;;1075:29:12;1066:39;;;;1107:4;1062:50;;847:271;-1:-1:-1;;847:271:12:o;1123:220::-;1272:2;1261:9;1254:21;1235:4;1292:45;1333:2;1322:9;1318:18;1310:6;1292:45;:::i;1348:180::-;1407:6;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;-1:-1:-1;1499:23:12;;1348:180;-1:-1:-1;1348:180:12:o;1741:173::-;1809:20;;-1:-1:-1;;;;;1858:31:12;;1848:42;;1838:70;;1904:1;1901;1894:12;1838:70;1741:173;;;:::o;1919:254::-;1987:6;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2087:29;2106:9;2087:29;:::i;:::-;2077:39;2163:2;2148:18;;;;2135:32;;-1:-1:-1;;;1919:254:12:o;2178:328::-;2255:6;2263;2271;2324:2;2312:9;2303:7;2299:23;2295:32;2292:52;;;2340:1;2337;2330:12;2292:52;2363:29;2382:9;2363:29;:::i;:::-;2353:39;;2411:38;2445:2;2434:9;2430:18;2411:38;:::i;:::-;2401:48;;2496:2;2485:9;2481:18;2468:32;2458:42;;2178:328;;;;;:::o;2511:186::-;2570:6;2623:2;2611:9;2602:7;2598:23;2594:32;2591:52;;;2639:1;2636;2629:12;2591:52;2662:29;2681:9;2662:29;:::i;2884:347::-;2949:6;2957;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3049:29;3068:9;3049:29;:::i;:::-;3039:39;;3128:2;3117:9;3113:18;3100:32;3175:5;3168:13;3161:21;3154:5;3151:32;3141:60;;3197:1;3194;3187:12;3141:60;3220:5;3210:15;;;2884:347;;;;;:::o;3236:127::-;3297:10;3292:3;3288:20;3285:1;3278:31;3328:4;3325:1;3318:15;3352:4;3349:1;3342:15;3368:1138;3463:6;3471;3479;3487;3540:3;3528:9;3519:7;3515:23;3511:33;3508:53;;;3557:1;3554;3547:12;3508:53;3580:29;3599:9;3580:29;:::i;:::-;3570:39;;3628:38;3662:2;3651:9;3647:18;3628:38;:::i;:::-;3618:48;;3713:2;3702:9;3698:18;3685:32;3675:42;;3768:2;3757:9;3753:18;3740:32;3791:18;3832:2;3824:6;3821:14;3818:34;;;3848:1;3845;3838:12;3818:34;3886:6;3875:9;3871:22;3861:32;;3931:7;3924:4;3920:2;3916:13;3912:27;3902:55;;3953:1;3950;3943:12;3902:55;3989:2;3976:16;4011:2;4007;4004:10;4001:36;;;4017:18;;:::i;:::-;4092:2;4086:9;4060:2;4146:13;;-1:-1:-1;;4142:22:12;;;4166:2;4138:31;4134:40;4122:53;;;4190:18;;;4210:22;;;4187:46;4184:72;;;4236:18;;:::i;:::-;4276:10;4272:2;4265:22;4311:2;4303:6;4296:18;4351:7;4346:2;4341;4337;4333:11;4329:20;4326:33;4323:53;;;4372:1;4369;4362:12;4323:53;4428:2;4423;4419;4415:11;4410:2;4402:6;4398:15;4385:46;4473:1;4468:2;4463;4455:6;4451:15;4447:24;4440:35;4494:6;4484:16;;;;;;;3368:1138;;;;;;;:::o;4511:260::-;4579:6;4587;4640:2;4628:9;4619:7;4615:23;4611:32;4608:52;;;4656:1;4653;4646:12;4608:52;4679:29;4698:9;4679:29;:::i;:::-;4669:39;;4727:38;4761:2;4750:9;4746:18;4727:38;:::i;:::-;4717:48;;4511:260;;;;;:::o;4776:380::-;4855:1;4851:12;;;;4898;;;4919:61;;4973:4;4965:6;4961:17;4951:27;;4919:61;5026:2;5018:6;5015:14;4995:18;4992:38;4989:161;;5072:10;5067:3;5063:20;5060:1;5053:31;5107:4;5104:1;5097:15;5135:4;5132:1;5125:15;4989:161;;4776:380;;;:::o;5993:409::-;6195:2;6177:21;;;6234:2;6214:18;;;6207:30;6273:34;6268:2;6253:18;;6246:62;-1:-1:-1;;;6339:2:12;6324:18;;6317:43;6392:3;6377:19;;5993:409::o;7170:496::-;7349:3;7387:6;7381:13;7403:66;7462:6;7457:3;7450:4;7442:6;7438:17;7403:66;:::i;:::-;7532:13;;7491:16;;;;7554:70;7532:13;7491:16;7601:4;7589:17;;7554:70;:::i;:::-;7640:20;;7170:496;-1:-1:-1;;;;7170:496:12:o;8389:401::-;8591:2;8573:21;;;8630:2;8610:18;;;8603:30;8669:34;8664:2;8649:18;;8642:62;-1:-1:-1;;;8735:2:12;8720:18;;8713:35;8780:3;8765:19;;8389:401::o;9554:414::-;9756:2;9738:21;;;9795:2;9775:18;;;9768:30;9834:34;9829:2;9814:18;;9807:62;-1:-1:-1;;;9900:2:12;9885:18;;9878:48;9958:3;9943:19;;9554:414::o;10105:489::-;-1:-1:-1;;;;;10374:15:12;;;10356:34;;10426:15;;10421:2;10406:18;;10399:43;10473:2;10458:18;;10451:34;;;10521:3;10516:2;10501:18;;10494:31;;;10299:4;;10542:46;;10568:19;;10560:6;10542:46;:::i;:::-;10534:54;10105:489;-1:-1:-1;;;;;;10105:489:12:o;10599:249::-;10668:6;10721:2;10709:9;10700:7;10696:23;10692:32;10689:52;;;10737:1;10734;10727:12;10689:52;10769:9;10763:16;10788:30;10812:5;10788:30;:::i", + "sourceMap": "146:298:48:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:26;;;;;;:::i;:::-;;:::i;:::-;;;565:14:55;;558:22;540:41;;528:2;513:18;1570:300:26;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1697:32:55;;;1679:51;;1667:2;1652:18;3935:167:26;1533:203:55;3468:406:26;;;;;;:::i;:::-;;:::i;:::-;;246:93:48;;;;;;:::i;:::-;;:::i;4612:296:26:-;;;;;;:::i;:::-;;:::i;345:97:48:-;;;;;;:::i;:::-;;:::i;4974:149:26:-;;;;;;:::i;:::-;;:::i;2190:219::-;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;:::-;;;2848:25:55;;;2836:2;2821:18;1929:204:26;2702:177:55;2633:102:26;;;:::i;4169:153::-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;2801:::-;;;;;;:::i;:::-;;:::i;4388:162::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:26;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;-1:-1:-1;;;;;;1707:40:26;;-1:-1:-1;;;1707:40:26;;:104;;-1:-1:-1;;;;;;;1763:48:26;;-1:-1:-1;;;1763:48:26;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:33;;;1827:36:26;1688:175;1570:300;-1:-1:-1;;1570:300:26:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:26;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:26;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:26;:2;-1:-1:-1;;;;;3605:11:26;;3597:57;;;;-1:-1:-1;;;3597:57:26;;5363:2:55;3597:57:26;;;5345:21:55;5402:2;5382:18;;;5375:30;5441:34;5421:18;;;5414:62;-1:-1:-1;;;5492:18:55;;;5485:31;5533:19;;3597:57:26;;;;;;;;;719:10:31;-1:-1:-1;;;;;3686:21:26;;;;:62;;-1:-1:-1;3711:37:26;3728:5;719:10:31;4388:162:26;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:26;;5765:2:55;3665:170:26;;;5747:21:55;5804:2;5784:18;;;5777:30;5843:34;5823:18;;;5816:62;5914:31;5894:18;;;5887:59;5963:19;;3665:170:26;5563:425:55;3665:170:26;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;246:93:48:-;314:18;320:2;324:7;314:5;:18::i;:::-;246:93;;:::o;4612:296:26:-;4771:41;719:10:31;4804:7:26;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:26;;;;;;;:::i;:::-;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;345:97:48:-;413:22;423:2;427:7;413:9;:22::i;4974:149:26:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;2190:219::-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:26;;2324:56;;;;-1:-1:-1;;;2324:56:26;;6609:2:55;2324:56:26;;;6591:21:55;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:55;;;6660:54;6731:18;;2324:56:26;6407:348:55;1929:204:26;2001:7;-1:-1:-1;;;;;2028:19:26;;2020:73;;;;-1:-1:-1;;;2020:73:26;;6962:2:55;2020:73:26;;;6944:21:55;7001:2;6981:18;;;6974:30;7040:34;7020:18;;;7013:62;-1:-1:-1;;;7091:18:55;;;7084:39;7140:19;;2020:73:26;6760:405:55;2020:73:26;-1:-1:-1;;;;;;2110:16:26;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:31;4296:8:26;4306;4263:18;:52::i;5189:276::-;5319:41;719:10:31;5352:7:26;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:26;;;;;;;:::i;:::-;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;2801:::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;3395:9;;;;;;;;;-1:-1:-1;3395:9:26;;;3319:92;2957:10;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;2801:276;-1:-1:-1;;;2801:276:26:o;13240:133::-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:26;13313:53;;;;-1:-1:-1;;;13313:53:26;;6609:2:55;13313:53:26;;;6591:21:55;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:55;;;6660:54;6731:18;;13313:53:26;6407:348:55;13313:53:26;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:26;-1:-1:-1;;;;;12646:29:26;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:26;;;;;;;;;;;12572:171;;:::o;8925:920::-;-1:-1:-1;;;;;9004:16:26;;8996:61;;;;-1:-1:-1;;;8996:61:26;;7873:2:55;8996:61:26;;;7855:21:55;;;7892:18;;;7885:30;7951:34;7931:18;;;7924:62;8003:18;;8996:61:26;7671:356:55;8996:61:26;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:26;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:26;;8234:2:55;9067:58:26;;;8216:21:55;8273:2;8253:18;;;8246:30;8312;8292:18;;;8285:58;8360:18;;9067:58:26;8032:352:55;9067:58:26;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:26;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:26;;8234:2:55;9271:58:26;;;8216:21:55;8273:2;8253:18;;;8246:30;8312;8292:18;;;8285:58;8360:18;;9271:58:26;8032:352:55;9271:58:26;-1:-1:-1;;;;;9671:13:26;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9710:21:26;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;246:93:48;;:::o;7404:261:26:-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:26;:7;-1:-1:-1;;;;;7570:16:26;;:52;;;-1:-1:-1;;;;;;4508:25:26;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:26;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:26;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:26:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:26;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:26;;11346:81;;;;-1:-1:-1;;;11346:81:26;;;;;;;:::i;:::-;-1:-1:-1;;;;;11445:16:26;;11437:65;;;;-1:-1:-1;;;11437:65:26;;8997:2:55;11437:65:26;;;8979:21:55;9036:2;9016:18;;;9009:30;9075:34;9055:18;;;9048:62;-1:-1:-1;;;9126:18:55;;;9119:34;9170:19;;11437:65:26;8795:400:55;11437:65:26;11682:4;-1:-1:-1;;;;;11655:31:26;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:26;;11647:81;;;;-1:-1:-1;;;11647:81:26;;;;;;;:::i;:::-;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:26;;;;;;-1:-1:-1;;;;;12265:15:26;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:26;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;7995:108::-;8070:26;8080:2;8084:7;8070:26;;;;;;;;;;;;:9;:26::i;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:26;:5;-1:-1:-1;;;;;12990:17:26;;12982:55;;;;-1:-1:-1;;;12982:55:26;;9402:2:55;12982:55:26;;;9384:21:55;9441:2;9421:18;;;9414:30;9480:27;9460:18;;;9453:55;9525:18;;12982:55:26;9200:349:55;12982:55:26;-1:-1:-1;;;;;13047:25:26;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:26;;;;;;;;;;13108:41;;540::55;;;13108::26;;513:18:55;13108:41:26;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:26;;;;;;;:::i;447:696:32:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:32;-1:-1:-1;604:41:32;-1:-1:-1;765:28:32;;;781:2;765:28;820:280;-1:-1:-1;;851:5:32;-1:-1:-1;;;985:2:32;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:32;820:280;1064:21;-1:-1:-1;1120:6:32;447:696;-1:-1:-1;;;447:696:32:o;8324:279:26:-;8418:18;8424:2;8428:7;8418:5;:18::i;:::-;8467:53;8498:1;8502:2;8506:7;8515:4;8467:22;:53::i;:::-;8446:150;;;;-1:-1:-1;;;8446:150:26;;;;;;;:::i;13925:831::-;14074:4;-1:-1:-1;;;;;14094:13:26;;1702:19:30;:23;14090:660:26;;14129:71;;-1:-1:-1;;;14129:71:26;;-1:-1:-1;;;;;14129:36:26;;;;;:71;;719:10:31;;14180:4:26;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:26;;;;;;;;-1:-1:-1;;14129:71:26;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:26;;;;;;;:::i;14363:321::-;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:26;-1:-1:-1;;;14250:51:26;;-1:-1:-1;14243:58:26;;14090:660;-1:-1:-1;14735:4:26;13925:831;;;;;;:::o;10139:916:35:-;10192:7;;-1:-1:-1;;;10267:17:35;;10263:103;;-1:-1:-1;;;10304:17:35;;;-1:-1:-1;10349:2:35;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:35;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:35;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:35;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:35;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:35;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:35:o;14:131:55:-;-1:-1:-1;;;;;;88:32:55;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:250::-;677:1;687:113;701:6;698:1;695:13;687:113;;;777:11;;;771:18;758:11;;;751:39;723:2;716:10;687:113;;;-1:-1:-1;;834:1:55;816:16;;809:27;592:250::o;847:271::-;889:3;927:5;921:12;954:6;949:3;942:19;970:76;1039:6;1032:4;1027:3;1023:14;1016:4;1009:5;1005:16;970:76;:::i;:::-;1100:2;1079:15;-1:-1:-1;;1075:29:55;1066:39;;;;1107:4;1062:50;;847:271;-1:-1:-1;;847:271:55:o;1123:220::-;1272:2;1261:9;1254:21;1235:4;1292:45;1333:2;1322:9;1318:18;1310:6;1292:45;:::i;1348:180::-;1407:6;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;-1:-1:-1;1499:23:55;;1348:180;-1:-1:-1;1348:180:55:o;1741:173::-;1809:20;;-1:-1:-1;;;;;1858:31:55;;1848:42;;1838:70;;1904:1;1901;1894:12;1838:70;1741:173;;;:::o;1919:254::-;1987:6;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2087:29;2106:9;2087:29;:::i;:::-;2077:39;2163:2;2148:18;;;;2135:32;;-1:-1:-1;;;1919:254:55:o;2178:328::-;2255:6;2263;2271;2324:2;2312:9;2303:7;2299:23;2295:32;2292:52;;;2340:1;2337;2330:12;2292:52;2363:29;2382:9;2363:29;:::i;:::-;2353:39;;2411:38;2445:2;2434:9;2430:18;2411:38;:::i;:::-;2401:48;;2496:2;2485:9;2481:18;2468:32;2458:42;;2178:328;;;;;:::o;2511:186::-;2570:6;2623:2;2611:9;2602:7;2598:23;2594:32;2591:52;;;2639:1;2636;2629:12;2591:52;2662:29;2681:9;2662:29;:::i;2884:347::-;2949:6;2957;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3049:29;3068:9;3049:29;:::i;:::-;3039:39;;3128:2;3117:9;3113:18;3100:32;3175:5;3168:13;3161:21;3154:5;3151:32;3141:60;;3197:1;3194;3187:12;3141:60;3220:5;3210:15;;;2884:347;;;;;:::o;3236:127::-;3297:10;3292:3;3288:20;3285:1;3278:31;3328:4;3325:1;3318:15;3352:4;3349:1;3342:15;3368:1138;3463:6;3471;3479;3487;3540:3;3528:9;3519:7;3515:23;3511:33;3508:53;;;3557:1;3554;3547:12;3508:53;3580:29;3599:9;3580:29;:::i;:::-;3570:39;;3628:38;3662:2;3651:9;3647:18;3628:38;:::i;:::-;3618:48;;3713:2;3702:9;3698:18;3685:32;3675:42;;3768:2;3757:9;3753:18;3740:32;3791:18;3832:2;3824:6;3821:14;3818:34;;;3848:1;3845;3838:12;3818:34;3886:6;3875:9;3871:22;3861:32;;3931:7;3924:4;3920:2;3916:13;3912:27;3902:55;;3953:1;3950;3943:12;3902:55;3989:2;3976:16;4011:2;4007;4004:10;4001:36;;;4017:18;;:::i;:::-;4092:2;4086:9;4060:2;4146:13;;-1:-1:-1;;4142:22:55;;;4166:2;4138:31;4134:40;4122:53;;;4190:18;;;4210:22;;;4187:46;4184:72;;;4236:18;;:::i;:::-;4276:10;4272:2;4265:22;4311:2;4303:6;4296:18;4351:7;4346:2;4341;4337;4333:11;4329:20;4326:33;4323:53;;;4372:1;4369;4362:12;4323:53;4428:2;4423;4419;4415:11;4410:2;4402:6;4398:15;4385:46;4473:1;4468:2;4463;4455:6;4451:15;4447:24;4440:35;4494:6;4484:16;;;;;;;3368:1138;;;;;;;:::o;4511:260::-;4579:6;4587;4640:2;4628:9;4619:7;4615:23;4611:32;4608:52;;;4656:1;4653;4646:12;4608:52;4679:29;4698:9;4679:29;:::i;:::-;4669:39;;4727:38;4761:2;4750:9;4746:18;4727:38;:::i;:::-;4717:48;;4511:260;;;;;:::o;4776:380::-;4855:1;4851:12;;;;4898;;;4919:61;;4973:4;4965:6;4961:17;4951:27;;4919:61;5026:2;5018:6;5015:14;4995:18;4992:38;4989:161;;5072:10;5067:3;5063:20;5060:1;5053:31;5107:4;5104:1;5097:15;5135:4;5132:1;5125:15;4989:161;;4776:380;;;:::o;5993:409::-;6195:2;6177:21;;;6234:2;6214:18;;;6207:30;6273:34;6268:2;6253:18;;6246:62;-1:-1:-1;;;6339:2:55;6324:18;;6317:43;6392:3;6377:19;;5993:409::o;7170:496::-;7349:3;7387:6;7381:13;7403:66;7462:6;7457:3;7450:4;7442:6;7438:17;7403:66;:::i;:::-;7532:13;;7491:16;;;;7554:70;7532:13;7491:16;7601:4;7589:17;;7554:70;:::i;:::-;7640:20;;7170:496;-1:-1:-1;;;;7170:496:55:o;8389:401::-;8591:2;8573:21;;;8630:2;8610:18;;;8603:30;8669:34;8664:2;8649:18;;8642:62;-1:-1:-1;;;8735:2:55;8720:18;;8713:35;8780:3;8765:19;;8389:401::o;9554:414::-;9756:2;9738:21;;;9795:2;9775:18;;;9768:30;9834:34;9829:2;9814:18;;9807:62;-1:-1:-1;;;9900:2:55;9885:18;;9878:48;9958:3;9943:19;;9554:414::o;10105:489::-;-1:-1:-1;;;;;10374:15:55;;;10356:34;;10426:15;;10421:2;10406:18;;10399:43;10473:2;10458:18;;10451:34;;;10521:3;10516:2;10501:18;;10494:31;;;10299:4;;10542:46;;10568:19;;10560:6;10542:46;:::i;:::-;10534:54;10105:489;-1:-1:-1;;;;;;10105:489:55:o;10599:249::-;10668:6;10721:2;10709:9;10700:7;10696:23;10692:32;10689:52;;;10737:1;10734;10727:12;10689:52;10769:9;10763:16;10788:30;10812:5;10788:30;:::i", "linkReferences": {} }, "methodIdentifiers": { @@ -947,22 +947,22 @@ }, "ast": { "absolutePath": "src/UnsafeERC721Mint.sol", - "id": 2717, + "id": 48108, "exportedSymbols": { "ERC721": [ - 926 + 44875 ], "UnsafeERC721Mint": [ - 2716 + 48107 ] }, "nodeType": "SourceUnit", - "src": "32:412:11", + "src": "32:412:48", "nodes": [ { - "id": 2677, + "id": 48068, "nodeType": "PragmaDirective", - "src": "32:23:11", + "src": "32:23:48", "nodes": [], "literals": [ "solidity", @@ -971,24 +971,24 @@ ] }, { - "id": 2679, + "id": 48070, "nodeType": "ImportDirective", - "src": "57:87:11", + "src": "57:87:48", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol", "file": "../lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol", "nameLocation": "-1:-1:-1", - "scope": 2717, - "sourceUnit": 927, + "scope": 48108, + "sourceUnit": 44876, "symbolAliases": [ { "foreign": { - "id": 2678, + "id": 48069, "name": "ERC721", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "65:6:11", + "referencedDeclaration": 44875, + "src": "65:6:48", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -997,19 +997,19 @@ "unitAlias": "" }, { - "id": 2716, + "id": 48107, "nodeType": "ContractDefinition", - "src": "146:298:11", + "src": "146:298:48", "nodes": [ { - "id": 2689, + "id": 48080, "nodeType": "FunctionDefinition", - "src": "188:52:11", + "src": "188:52:48", "nodes": [], "body": { - "id": 2688, + "id": 48079, "nodeType": "Block", - "src": "238:2:11", + "src": "238:2:48", "nodes": [], "statements": [] }, @@ -1020,14 +1020,14 @@ "arguments": [ { "hexValue": "556e736166654552433732314d696e74", - "id": 2684, + "id": 48075, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "209:18:11", + "src": "209:18:48", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c1d94b09f90ec299c719b5f4c0754beeabe23e32eb859bfa9ea8d414a2ea86ee", "typeString": "literal_string \"UnsafeERC721Mint\"" @@ -1036,14 +1036,14 @@ }, { "hexValue": "553732314d", - "id": 2685, + "id": 48076, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "229:7:11", + "src": "229:7:48", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f2383fdb20b220c428f93d56a54846914e9c6628b9eb85e751ae8071bc368aec", "typeString": "literal_string \"U721M\"" @@ -1051,74 +1051,74 @@ "value": "U721M" } ], - "id": 2686, + "id": 48077, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 2683, + "id": 48074, "name": "ERC721", "nameLocations": [ - "202:6:11" + "202:6:48" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 926, - "src": "202:6:11" + "referencedDeclaration": 44875, + "src": "202:6:48" }, "nodeType": "ModifierInvocation", - "src": "202:35:11" + "src": "202:35:48" } ], "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 2682, + "id": 48073, "nodeType": "ParameterList", "parameters": [], - "src": "199:2:11" + "src": "199:2:48" }, "returnParameters": { - "id": 2687, + "id": 48078, "nodeType": "ParameterList", "parameters": [], - "src": "238:0:11" + "src": "238:0:48" }, - "scope": 2716, + "scope": 48107, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 2702, + "id": 48093, "nodeType": "FunctionDefinition", - "src": "246:93:11", + "src": "246:93:48", "nodes": [], "body": { - "id": 2701, + "id": 48092, "nodeType": "Block", - "src": "304:35:11", + "src": "304:35:48", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 2697, + "id": 48088, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2691, - "src": "320:2:11", + "referencedDeclaration": 48082, + "src": "320:2:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2698, + "id": 48089, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2693, - "src": "324:7:11", + "referencedDeclaration": 48084, + "src": "324:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1136,18 +1136,18 @@ "typeString": "uint256" } ], - "id": 2696, + "id": 48087, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 600, - "src": "314:5:11", + "referencedDeclaration": 44549, + "src": "314:5:48", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 2699, + "id": 48090, "isConstant": false, "isLValue": false, "isPure": false, @@ -1156,16 +1156,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "314:18:11", + "src": "314:18:48", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2700, + "id": 48091, "nodeType": "ExpressionStatement", - "src": "314:18:11" + "src": "314:18:48" } ] }, @@ -1174,20 +1174,20 @@ "kind": "function", "modifiers": [], "name": "unsafeMint", - "nameLocation": "255:10:11", + "nameLocation": "255:10:48", "parameters": { - "id": 2694, + "id": 48085, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2691, + "id": 48082, "mutability": "mutable", "name": "to", - "nameLocation": "274:2:11", + "nameLocation": "274:2:48", "nodeType": "VariableDeclaration", - "scope": 2702, - "src": "266:10:11", + "scope": 48093, + "src": "266:10:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1195,10 +1195,10 @@ "typeString": "address" }, "typeName": { - "id": 2690, + "id": 48081, "name": "address", "nodeType": "ElementaryTypeName", - "src": "266:7:11", + "src": "266:7:48", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1209,13 +1209,13 @@ }, { "constant": false, - "id": 2693, + "id": 48084, "mutability": "mutable", "name": "tokenId", - "nameLocation": "286:7:11", + "nameLocation": "286:7:48", "nodeType": "VariableDeclaration", - "scope": 2702, - "src": "278:15:11", + "scope": 48093, + "src": "278:15:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1223,10 +1223,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2692, + "id": 48083, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "278:7:11", + "src": "278:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1235,52 +1235,52 @@ "visibility": "internal" } ], - "src": "265:29:11" + "src": "265:29:48" }, "returnParameters": { - "id": 2695, + "id": 48086, "nodeType": "ParameterList", "parameters": [], - "src": "304:0:11" + "src": "304:0:48" }, - "scope": 2716, + "scope": 48107, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 2715, + "id": 48106, "nodeType": "FunctionDefinition", - "src": "345:97:11", + "src": "345:97:48", "nodes": [], "body": { - "id": 2714, + "id": 48105, "nodeType": "Block", - "src": "403:39:11", + "src": "403:39:48", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 2710, + "id": 48101, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2704, - "src": "423:2:11", + "referencedDeclaration": 48095, + "src": "423:2:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2711, + "id": 48102, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2706, - "src": "427:7:11", + "referencedDeclaration": 48097, + "src": "427:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1298,21 +1298,21 @@ "typeString": "uint256" } ], - "id": 2709, + "id": 48100, "name": "_safeMint", "nodeType": "Identifier", "overloadedDeclarations": [ - 494, - 523 + 44443, + 44472 ], - "referencedDeclaration": 494, - "src": "413:9:11", + "referencedDeclaration": 44443, + "src": "413:9:48", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 2712, + "id": 48103, "isConstant": false, "isLValue": false, "isPure": false, @@ -1321,16 +1321,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "413:22:11", + "src": "413:22:48", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2713, + "id": 48104, "nodeType": "ExpressionStatement", - "src": "413:22:11" + "src": "413:22:48" } ] }, @@ -1339,20 +1339,20 @@ "kind": "function", "modifiers": [], "name": "betterMint", - "nameLocation": "354:10:11", + "nameLocation": "354:10:48", "parameters": { - "id": 2707, + "id": 48098, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2704, + "id": 48095, "mutability": "mutable", "name": "to", - "nameLocation": "373:2:11", + "nameLocation": "373:2:48", "nodeType": "VariableDeclaration", - "scope": 2715, - "src": "365:10:11", + "scope": 48106, + "src": "365:10:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1360,10 +1360,10 @@ "typeString": "address" }, "typeName": { - "id": 2703, + "id": 48094, "name": "address", "nodeType": "ElementaryTypeName", - "src": "365:7:11", + "src": "365:7:48", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1374,13 +1374,13 @@ }, { "constant": false, - "id": 2706, + "id": 48097, "mutability": "mutable", "name": "tokenId", - "nameLocation": "385:7:11", + "nameLocation": "385:7:48", "nodeType": "VariableDeclaration", - "scope": 2715, - "src": "377:15:11", + "scope": 48106, + "src": "377:15:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1388,10 +1388,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2705, + "id": 48096, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "377:7:11", + "src": "377:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1400,15 +1400,15 @@ "visibility": "internal" } ], - "src": "364:29:11" + "src": "364:29:48" }, "returnParameters": { - "id": 2708, + "id": 48099, "nodeType": "ParameterList", "parameters": [], - "src": "403:0:11" + "src": "403:0:48" }, - "scope": 2716, + "scope": 48107, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -1418,18 +1418,18 @@ "baseContracts": [ { "baseName": { - "id": 2680, + "id": 48071, "name": "ERC721", "nameLocations": [ - "175:6:11" + "175:6:48" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 926, - "src": "175:6:11" + "referencedDeclaration": 44875, + "src": "175:6:48" }, - "id": 2681, + "id": 48072, "nodeType": "InheritanceSpecifier", - "src": "175:6:11" + "src": "175:6:48" } ], "canonicalName": "UnsafeERC721Mint", @@ -1437,26 +1437,26 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 2716, - 926, - 1087, - 1042, - 1692, - 1704, - 1439 + 48107, + 44875, + 45036, + 44991, + 45641, + 45653, + 45388 ], "name": "UnsafeERC721Mint", - "nameLocation": "155:16:11", - "scope": 2717, + "nameLocation": "155:16:48", + "scope": 48108, "usedErrors": [], "usedEvents": [ - 941, - 950, - 959 + 44890, + 44899, + 44908 ] } ], "license": "MIT" }, - "id": 11 + "id": 48 } \ No newline at end of file diff --git a/tests/contract-playground/out/Vm.sol/Vm.json b/tests/contract-playground/out/Vm.sol/Vm.json index c8c6044b3..de45fa4fb 100644 --- a/tests/contract-playground/out/Vm.sol/Vm.json +++ b/tests/contract-playground/out/Vm.sol/Vm.json @@ -4076,7 +4076,7 @@ "writeJson(string,string,string)": "35d6ad46", "writeLine(string,string)": "619d897f" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"allowCheatcodes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newChainId\",\"type\":\"uint256\"}],\"name\":\"chainId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clearMockedCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newCoinbase\",\"type\":\"address\"}],\"name\":\"coinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"createDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"deal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDifficulty\",\"type\":\"uint256\"}],\"name\":\"difficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"newRuntimeBytecode\",\"type\":\"bytes\"}],\"name\":\"etch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemoryCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBasefee\",\"type\":\"uint256\"}],\"name\":\"fee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getLabel\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"currentLabel\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPersistent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"persistent\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account2\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"newPrevrandao\",\"type\":\"bytes32\"}],\"name\":\"prevrandao\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"readCallers\",\"outputs\":[{\"internalType\":\"enum VmSafe.CallerMode\",\"name\":\"callerMode\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"followLinks\",\"type\":\"bool\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"linkPath\",\"type\":\"string\"}],\"name\":\"readLink\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"targetPath\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"removeDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"resetNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newHeight\",\"type\":\"uint256\"}],\"name\":\"roll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"name\":\"selectFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonceUnsafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"skipTest\",\"type\":\"bool\"}],\"name\":\"skip\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newGasPrice\",\"type\":\"uint256\"}],\"name\":\"txGasPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newTimestamp\",\"type\":\"uint256\"}],\"name\":\"warp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activeFork()\":{\"notice\":\"Returns the identifier of the currently active fork. Reverts if no fork is currently active.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"Vm\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"allowCheatcodes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newChainId\",\"type\":\"uint256\"}],\"name\":\"chainId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clearMockedCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newCoinbase\",\"type\":\"address\"}],\"name\":\"coinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"createDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"deal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDifficulty\",\"type\":\"uint256\"}],\"name\":\"difficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"newRuntimeBytecode\",\"type\":\"bytes\"}],\"name\":\"etch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemoryCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBasefee\",\"type\":\"uint256\"}],\"name\":\"fee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getLabel\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"currentLabel\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPersistent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"persistent\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account2\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"newPrevrandao\",\"type\":\"bytes32\"}],\"name\":\"prevrandao\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"readCallers\",\"outputs\":[{\"internalType\":\"enum VmSafe.CallerMode\",\"name\":\"callerMode\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"followLinks\",\"type\":\"bool\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"linkPath\",\"type\":\"string\"}],\"name\":\"readLink\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"targetPath\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"removeDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"resetNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newHeight\",\"type\":\"uint256\"}],\"name\":\"roll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"name\":\"selectFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonceUnsafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"skipTest\",\"type\":\"bool\"}],\"name\":\"skip\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newGasPrice\",\"type\":\"uint256\"}],\"name\":\"txGasPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newTimestamp\",\"type\":\"uint256\"}],\"name\":\"warp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activeFork()\":{\"notice\":\"Returns the identifier of the currently active fork. Reverts if no fork is currently active.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"Vm\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -7902,7 +7902,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/Vm.sol/VmSafe.json b/tests/contract-playground/out/Vm.sol/VmSafe.json index 229005230..952979e66 100644 --- a/tests/contract-playground/out/Vm.sol/VmSafe.json +++ b/tests/contract-playground/out/Vm.sol/VmSafe.json @@ -2809,7 +2809,7 @@ "writeJson(string,string,string)": "35d6ad46", "writeLine(string,string)": "619d897f" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"createDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getLabel\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"currentLabel\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"followLinks\",\"type\":\"bool\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"linkPath\",\"type\":\"string\"}],\"name\":\"readLink\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"targetPath\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"removeDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"VmSafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"createDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getLabel\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"currentLabel\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"followLinks\",\"type\":\"bool\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"linkPath\",\"type\":\"string\"}],\"name\":\"readLink\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"targetPath\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"removeDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"VmSafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -5487,7 +5487,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/console.sol/console.json b/tests/contract-playground/out/console.sol/console.json index deffeb4ef..35c8ef834 100644 --- a/tests/contract-playground/out/console.sol/console.json +++ b/tests/contract-playground/out/console.sol/console.json @@ -1,17 +1,17 @@ { "abi": [], "bytecode": { - "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220918deea7fc32c75e412e5a9f1981afec24585ffe24bfb3e60a4cf11979e965dd64736f6c63430008140033", + "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d94fdcb199590e69f178f8e4832e72bb60bd506b725775186c503a893123481d64736f6c63430008140033", "sourceMap": "66:66622:15:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;66:66622:15;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220918deea7fc32c75e412e5a9f1981afec24585ffe24bfb3e60a4cf11979e965dd64736f6c63430008140033", + "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d94fdcb199590e69f178f8e4832e72bb60bd506b725775186c503a893123481d64736f6c63430008140033", "sourceMap": "66:66622:15:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console.sol\":\"console\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console.sol\":\"console\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/console2.sol/console2.json b/tests/contract-playground/out/console2.sol/console2.json index 7c0eb327d..1486a3a53 100644 --- a/tests/contract-playground/out/console2.sol/console2.json +++ b/tests/contract-playground/out/console2.sol/console2.json @@ -1,17 +1,17 @@ { "abi": [], "bytecode": { - "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e6190536ef9a43029b9b0b0bb709ff0d8cc8a6e34ea64116c8d9dedb9bab442464736f6c63430008140033", + "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208910732feae92b7c0d00ab49e8929b626579415950ac2137779dd79c5216aeff64736f6c63430008140033", "sourceMap": "525:69152:16:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;525:69152:16;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e6190536ef9a43029b9b0b0bb709ff0d8cc8a6e34ea64116c8d9dedb9bab442464736f6c63430008140033", + "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208910732feae92b7c0d00ab49e8929b626579415950ac2137779dd79c5216aeff64736f6c63430008140033", "sourceMap": "525:69152:16:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"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\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console2.sol\":\"console2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"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\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console2.sol\":\"console2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/safeconsole.sol/safeconsole.json b/tests/contract-playground/out/safeconsole.sol/safeconsole.json index 22ccf6410..3860ceffe 100644 --- a/tests/contract-playground/out/safeconsole.sol/safeconsole.json +++ b/tests/contract-playground/out/safeconsole.sol/safeconsole.json @@ -1,17 +1,17 @@ { "abi": [], "bytecode": { - "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206bb80e644e57f7c9eec8a4e0d61009f0d4a57aac9bd5dc3c4b8712f40cae861764736f6c63430008140033", + "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122038dab9b273470b2ac9a3b8d95f6de5a5a60a3e816f8c508d0ad90339f0917b9764736f6c63430008140033", "sourceMap": "163:397734:18:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;163:397734:18;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206bb80e644e57f7c9eec8a4e0d61009f0d4a57aac9bd5dc3c4b8712f40cae861764736f6c63430008140033", + "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122038dab9b273470b2ac9a3b8d95f6de5a5a60a3e816f8c508d0ad90339f0917b9764736f6c63430008140033", "sourceMap": "163:397734:18:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"philogy \",\"details\":\"Code generated automatically by script.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/safeconsole.sol\":\"safeconsole\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"philogy \",\"details\":\"Code generated automatically by script.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/safeconsole.sol\":\"safeconsole\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -37,7 +37,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/test.sol/DSTest.json b/tests/contract-playground/out/test.sol/DSTest.json index ce6117a8e..f3883a944 100644 --- a/tests/contract-playground/out/test.sol/DSTest.json +++ b/tests/contract-playground/out/test.sol/DSTest.json @@ -296,20 +296,20 @@ } ], "bytecode": { - "object": "0x60806040526000805460ff1916600117905534801561001d57600080fd5b5061024e8061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561018a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610112917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101bf565b60408051601f198184030181529082905261012c916101e3565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b509150508080602001905181019061018691906101f6565b9150505b919050565b6000815160005b818110156101b05760208185018101518683015201610196565b50600093019283525090919050565b6001600160e01b03198316815260006101db600483018461018f565b949350505050565b60006101ef828461018f565b9392505050565b60006020828403121561020857600080fd5b815180151581146101ef57600080fdfea26469706673582212209c0a8214ef47de6995c2c1f6abd195dee3dbc74137a2410c697d9b4efc8df60464736f6c63430008140033", + "object": "0x60806040526000805460ff1916600117905534801561001d57600080fd5b5061024e8061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561018a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610112917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101bf565b60408051601f198184030181529082905261012c916101e3565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b509150508080602001905181019061018691906101f6565b9150505b919050565b6000815160005b818110156101b05760208185018101518683015201610196565b50600093019283525090919050565b6001600160e01b03198316815260006101db600483018461018f565b949350505050565b60006101ef828461018f565b9392505050565b60006020828403121561020857600080fd5b815180151581146101ef57600080fdfea2646970667358221220cc58c6289dacda613fee8fb338cb3e0fd932dc77ee605e7b20dc1877f92ac79864736f6c63430008140033", "sourceMap": "715:19781:0:-:0;;;1572:26;;;-1:-1:-1;;1572:26:0;1594:4;1572:26;;;715:19781;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561018a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610112917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101bf565b60408051601f198184030181529082905261012c916101e3565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b509150508080602001905181019061018691906101f6565b9150505b919050565b6000815160005b818110156101b05760208185018101518683015201610196565b50600093019283525090919050565b6001600160e01b03198316815260006101db600483018461018f565b949350505050565b60006101ef828461018f565b9392505050565b60006020828403121561020857600080fd5b815180151581146101ef57600080fdfea26469706673582212209c0a8214ef47de6995c2c1f6abd195dee3dbc74137a2410c697d9b4efc8df60464736f6c63430008140033", - "sourceMap": "715:19781:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584;;;:::i;:::-;;;179:14:46;;172:22;154:41;;142:2;127:18;1819:584:0;;;;;;;1572:26;;;;;;;;;1819:584;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:0;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;380:51:46;;;-1:-1:-1;;;447:18:46;;;440:34;2196:43:0;;;;;;;;;353:18:46;;;2196:43:0;;;-1:-1:-1;;1671:64:0;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:0;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:0:o;485:322:46:-;526:3;564:5;558:12;588:1;598:128;612:6;609:1;606:13;598:128;;;709:4;694:13;;;690:24;;684:31;671:11;;;664:52;627:12;598:128;;;-1:-1:-1;781:1:46;745:16;;770:13;;;-1:-1:-1;745:16:46;;485:322;-1:-1:-1;485:322:46:o;812:278::-;-1:-1:-1;;;;;;997:33:46;;985:46;;967:3;1047:37;1081:1;1072:11;;1064:6;1047:37;:::i;:::-;1040:44;812:278;-1:-1:-1;;;;812:278:46:o;1095:189::-;1224:3;1249:29;1274:3;1266:6;1249:29;:::i;:::-;1242:36;1095:189;-1:-1:-1;;;1095:189:46:o;1289:277::-;1356:6;1409:2;1397:9;1388:7;1384:23;1380:32;1377:52;;;1425:1;1422;1415:12;1377:52;1457:9;1451:16;1510:5;1503:13;1496:21;1489:5;1486:32;1476:60;;1532:1;1529;1522:12", + "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561018a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610112917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101bf565b60408051601f198184030181529082905261012c916101e3565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b509150508080602001905181019061018691906101f6565b9150505b919050565b6000815160005b818110156101b05760208185018101518683015201610196565b50600093019283525090919050565b6001600160e01b03198316815260006101db600483018461018f565b949350505050565b60006101ef828461018f565b9392505050565b60006020828403121561020857600080fd5b815180151581146101ef57600080fdfea2646970667358221220cc58c6289dacda613fee8fb338cb3e0fd932dc77ee605e7b20dc1877f92ac79864736f6c63430008140033", + "sourceMap": "715:19781:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584;;;:::i;:::-;;;179:14:55;;172:22;154:41;;142:2;127:18;1819:584:0;;;;;;;1572:26;;;;;;;;;1819:584;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:0;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;380:51:55;;;-1:-1:-1;;;447:18:55;;;440:34;2196:43:0;;;;;;;;;353:18:55;;;2196:43:0;;;-1:-1:-1;;1671:64:0;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:0;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:0:o;485:322:55:-;526:3;564:5;558:12;588:1;598:128;612:6;609:1;606:13;598:128;;;709:4;694:13;;;690:24;;684:31;671:11;;;664:52;627:12;598:128;;;-1:-1:-1;781:1:55;745:16;;770:13;;;-1:-1:-1;745:16:55;;485:322;-1:-1:-1;485:322:55:o;812:278::-;-1:-1:-1;;;;;;997:33:55;;985:46;;967:3;1047:37;1081:1;1072:11;;1064:6;1047:37;:::i;:::-;1040:44;812:278;-1:-1:-1;;;;812:278:55:o;1095:189::-;1224:3;1249:29;1274:3;1266:6;1249:29;:::i;:::-;1242:36;1095:189;-1:-1:-1;;;1095:189:55:o;1289:277::-;1356:6;1409:2;1397:9;1388:7;1384:23;1380:32;1377:52;;;1425:1;1422;1415:12;1377:52;1457:9;1451:16;1510:5;1503:13;1496:21;1489:5;1486:32;1476:60;;1532:1;1529;1522:12", "linkReferences": {} }, "methodIdentifiers": { "IS_TEST()": "fa7626d4", "failed()": "ba414fa6" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/lib/ds-test/src/test.sol\":\"DSTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/lib/ds-test/src/test.sol\":\"DSTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -630,7 +630,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/out/test.sol/Test.json b/tests/contract-playground/out/test.sol/Test.json index 900481222..0d158a8ed 100644 --- a/tests/contract-playground/out/test.sol/Test.json +++ b/tests/contract-playground/out/test.sol/Test.json @@ -541,7 +541,7 @@ "targetSelectors()": "916a17c6", "targetSenders()": "3e5e3c23" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"Test\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d\",\"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xf3b62c75cea11a0e8ef8e6526e5e5c74ae47a892b9bcefc0e98d76066e1ffd24\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a41faaf836453e02c71fc272c80b3c90a614b30c9ba636512db0d033c7b93beb\",\"dweb:/ipfs/QmeQAreYYaxztQtFLQdHCzCPEorj9T5foSu2hQmxk7xT5x\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"Test\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d\",\"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xf3b62c75cea11a0e8ef8e6526e5e5c74ae47a892b9bcefc0e98d76066e1ffd24\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a41faaf836453e02c71fc272c80b3c90a614b30c9ba636512db0d033c7b93beb\",\"dweb:/ipfs/QmeQAreYYaxztQtFLQdHCzCPEorj9T5foSu2hQmxk7xT5x\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" @@ -1086,7 +1086,8 @@ "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "solmate/=lib/solmate/src/" + "solmate/=lib/solmate/src/", + "v2-periphery/=lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, diff --git a/tests/contract-playground/src/StorageConditionals.sol b/tests/contract-playground/src/StorageConditionals.sol new file mode 100644 index 000000000..ef03a4a96 --- /dev/null +++ b/tests/contract-playground/src/StorageConditionals.sol @@ -0,0 +1,77 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.20; + +contract StorageConditionals { + uint256 private s_sameConditionals; + uint256 private s_differentConditionals; + + constructor(uint256 same, uint256 different) { + s_sameConditionals = same; + s_differentConditionals = different; + } + + // SAME CONDITIONALS + + event Same(); + + function sameOne(uint256 number) external { + require(number < s_sameConditionals, "Must be less than"); + emit Same(); + } + + function sameTwo(uint256 number) external { + if (number < s_sameConditionals) { + emit Same(); + } + } + + function sameThree(uint256 number) external { + if (number < s_sameConditionals) { + emit Same(); + } else { + revert("Must be less than"); + } + } + + function sameButReversedOne(uint256 number) external { + require(s_sameConditionals > number, "Must be less than"); + emit Same(); + } + + function sameButReversedTwo(uint256 number) external { + if (s_sameConditionals > number) { + emit Same(); + } + } + + function sameButReversedThree(uint256 number) external { + if (s_sameConditionals > number) { + emit Same(); + } else { + revert("Must be less than"); + } + } + + // DIFFERENT CONDITIONALS + + event Different(); + + function differentOne(uint256 number) external { + require(number < s_differentConditionals, "Must be less than"); + emit Different(); + } + + function differentTwo(uint256 number) external { + if (number <= s_differentConditionals) { + emit Different(); + } + } + + function differentThree(uint256 number) external { + if (number > s_differentConditionals) { + emit Different(); + } else { + revert("Must be less than"); + } + } +} \ No newline at end of file diff --git a/tests/hardhat-js-playground/yarn.lock b/tests/hardhat-js-playground/yarn.lock index 17dbe2835..845d3603b 100644 --- a/tests/hardhat-js-playground/yarn.lock +++ b/tests/hardhat-js-playground/yarn.lock @@ -1153,9 +1153,9 @@ at-least-node@^1.0.0: integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== axios@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.5.1.tgz#11fbaa11fc35f431193a9564109c88c1f27b585f" - integrity sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A== + version "1.6.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.1.tgz#76550d644bf0a2d469a01f9244db6753208397d7" + integrity sha512-vfBmhDpKafglh0EldBEbVuoe7DyAavGSLWhuSm5ZSEKQnHhBf0xAAwybbNH1IkrJNGnS/VG4I5yxig1pCEXE4g== dependencies: follow-redirects "^1.15.0" form-data "^4.0.0"

+
+
+ +
+